Estoy tratando de crear una prueba Regex en JavaScript que probará una cadena para contener cualquiera de estos caracteres:
!$%^&*()_+|~-=`{}[]:";'<>?,./
Más información si está interesado :)
Es para una aplicación de cambio de contraseña genial en la que estoy trabajando. En caso de que esté interesado, aquí está el resto del código.
Tengo una tabla que enumera los requisitos de contraseña y, a medida que los usuarios finales escriben la nueva contraseña, probará una matriz de expresiones regulares y colocará una marca de verificación en la fila de la tabla correspondiente si ... verifica :) Solo necesito agregar esta en lugar del cuarto elemento de la validation
matriz.
var validate = function(password){
valid = true;
var validation = [
RegExp(/[a-z]/).test(password), RegExp(/[A-Z]/).test(password), RegExp(/\d/).test(password),
RegExp(/\W|_/).test(password), !RegExp(/\s/).test(password), !RegExp("12345678").test(password),
!RegExp($('#txtUsername').val()).test(password), !RegExp("cisco").test(password),
!RegExp(/([a-z]|[0-9])\1\1\1/).test(password), (password.length > 7)
]
$.each(validation, function(i){
if(this)
$('.form table tr').eq(i+1).attr('class', 'check');
else{
$('.form table tr').eq(i+1).attr('class', '');
valid = false
}
});
return(valid);
}
Sí, también existe la correspondiente validación del lado del servidor.
fuente
.addClass("check")
y.removeClass("check")
? Y verif (someBoolean == true)
en código siempre me da vergüenza. Solo hazloif (someBoolean)
. O, mejor aún, hazlo$(".form table tr").eq(i+1).toggleClass("check", !!this); valid = valid && !!this;
.