1
respuesta

[Bug] Pattern expresión regular en el input tipo password

Me daba un error con el pattern de contraseña al tenerlo así

pattern="^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?!.*[ !@#$%^&*_=+-]).{6,12}$"

Se supone que esta correcta la expresión, busque soluciones y no me daba, y viendo en un foro, me dí cuenta que el error se debe a un carácter inválido dentro de una clase de caracteres en la expresión regular

[^!@#$%^&*_=+-]

Específicamente acá por el signo de exclamación, el signo de exclamación tiene un significado especial dentro de una clase de caracteres, y debe escaparse con una barra invertida \ para representarlo literalmente.

pattern="^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?!.*[ !@#$%^&*_=+\-]).{6,12}$" 

Por lo que al agregar la barra invertida queda solucionado

1 respuesta

Qué tal, estimado:

Tienes toda la razón, llevo todo el día tratando de averiguar por qué no funcionaba correctamente el formulario y es grato saber que la solución era tan simple.

Agradezco mucho la información, Saludos