Uso validar.js para la validación de formularios y tengo un patrón de contraseña en el que me gustaría permitir solo uno de los siguientes caracteres especiales: -!@_#+
El patrón de contraseña es el siguiente:
password1: { pattern:/^(?=.*[az])(?=.*[AZ])(?=.*[0-9])(?=.*[-!@_#+])(?=.{8,})/ },Sin embargo, cuando ingreso el carácter *, $ o % como entrada de contraseña, no aparece ningún mensaje de error. Cualquier ayuda sería apreciada. Gracias.
Realmente no está limitando las opciones de entrada del usuario, su patrón dice: desde la posición inicial de la cadena, verifique si le siguen letras minúsculas, luego verifique si le siguen letras mayúsculas, seguidas de números y luego algunos símbolos.
No hay nada que limite la entrada de los usuarios. Dado que .* coincidirá con cualquier carácter que no sea un terminador de línea (\n, \r, etc.).
Debería intentar algo como esto: /^([-\w!@#+]+){8,}$/
Aquí \w mathces az, AZ, 0-9 y guión bajo.
Pruebe la expresión regular aquí: https://regex101.com/r/TINm56/1