$('[type="password"]' && '[id="nuevaContrasenia"]').on("change keyup",function(e){ popoverPas=$(this) popoverPas.popover('dispose') estatusCont=password_Segura(e.target.value) clsAdd="border-"+((estatusCont.esSegura)?'success':'danger') clsRmv="border-"+((estatusCont.esSegura)?'danger':'success') popoverPas.addClass(clsAdd) popoverPas.removeClass(clsRmv) popoverPas.popover({ destroy: true, placement : 'bottom', trigger : 'hover, keyup', delay:{"show":300,"hide":200}, title:(estatusCont.esSegura)?'contraseña valida':'contraseña no valida', content:estatusCont.mensaje }) popoverPas.popover('show') }); $('[type="password"]' && '[id="confirmarNuevaContrasenia"]').on("change keyup",function(e){ popoverPas=$(this) popoverPas.popover('dispose') let valNuevaContrasenia = obtenerValorPorId(idNuevaContrasenia); let valConfirmarNuevaContrasenia = obtenerValorPorId(idConfirmarNuevaContrasenia); if (valNuevaContrasenia !== valConfirmarNuevaContrasenia) { popoverPas.addClass('border-danger') popoverPas.removeClass('border-success') popoverPas.popover('show') } else{ popoverPas.addClass('border-success') popoverPas.removeClass('border-danger') popoverPas.popover('show') } }); function password_Segura(text){ let minuscula = /(?=.*[a-z])/; let mayuscula=/(?=.*[A-Z])/; let numero=/(?=.*[0-9])/; let caracter=/(?=.*[!@#\$%\^&\*+\/ \-=:;~?¿\[\]\(\)\{\}])/; let testMinuscula=minuscula.test(text); let testMayuscula=mayuscula.test(text); let testNumero=numero.test(text); let testCaracter=caracter.test(text); let esSegura=testMinuscula && testMayuscula && testNumero && testCaracter && text.length>7; let message=((text.length>7)?"":"8 carcateres, ")+((testMinuscula)?"":"una minuscula, ")+((testMayuscula)?"":"una Mayuscula, ")+((testNumero)?"":"un numero, ")+((testCaracter)?"":"un caracter especial(!, @, #, $, %, ^, &, *,...)") return { esSegura:esSegura, mensaje:message }; }