validaciones - validar contraseñas iguales jquery
Método jQuery para validar una contraseña con reglas específicas (2)
Debes cerrar tus paréntesis en tu último condicional. Pero en realidad noté un par de problemas con tu expresión regular. Por un lado, debe agrupar todos los caracteres especiales en un corchete, por lo que no coincidirá con todos los caracteres de forma consecutiva.
Pero más allá de eso, el Regex es demasiado detallado. Aquí hay una solución mucho más simple.
$.validator.addMethod("pwcheck", function(value) {
return /[A-Z]+[a-z]+[/d/W]+/.test(value)
});
Esto coincidirá con 1 o más caracteres en mayúscula, 1 o más caracteres en minúscula y 1 o más dígitos / caracteres especiales. Sin embargo, hay un error con esto. Solo coincidirá en este orden particular. Eso significa que la letra mayúscula debe aparecer antes que las minúsculas y las minúsculas antes de los dígitos. Coincidirá con cosas como
AFDSabcd1435
pero no cosas como
aA5fdHD14z
Para tener una validación más precisa, probablemente debería verse más como esto
$.validator.addMethod("pwcheck", function(value) {
return /[A-Z]+/.test(value) && /[a-z]+/.test(value) &&
/[/d/W]+/.test(value) && //S{7,}/.test(value);
});
Esto no es tan limpio como mi idea anterior, pero pasará más opciones.
Aquí hay un ejemplo que puedes probar con una función de JavaScript.
function testValue(string) {
return /[A-Z]+/.test(string) && /[a-z]+/.test(string) &&
/[/d/W]/.test(string) && //S{7,}/.test(string)
}
testValue("aGFbsdf4")
=> true
Soy nuevo en jquery y trato de usar la contraseña válida de complejidad bastante básica.
La contraseña debe tener al menos 7 caracteres, tener al menos 1 mayúscula, tener al menos 1 minúscula y al menos 1 número O carácter especial.
Esta pregunta es muy similar a esta respuesta que encontré, sin embargo, tengo problemas para agregar la parte "dígito O carácter especial".
Creo que es una expresión regular que simplemente no entiendo. Mi modificación a esa respuesta se ve así:
$.validator.addMethod("pwcheck", function(value) {
return /^[A-Za-z0-9/d=!/-@._*]*$/.test(value) // consists of only these
&& /[a-z]/.test(value) // has a lowercase letter
&& /[A-Z]/.test(value) //has an uppercase letter
&& (//d/.test(value) || /~!@#$%^&*_-+=[]/{}|;'':",.<> /.test(value)
// has a digit or special char
});
EDIT: la siguiente respuesta es para la versión original del OP .
Suponiendo que su expresión regular es correcta, tiene un error de sintaxis.
Esta línea...
&& (//d/.test(value) || /~!@#$%^&*_-+=[]/{}|;'':",.<> /.test(value)
debiera ser...
&& //d/.test(value) || /~!@#$%^&*_-+=[]/{}|;'':",.<> /.test(value)
o
&& (//d/.test(value) || /~!@#$%^&*_-+=[]/{}|;'':",.<> /.test(value))