Tengo una expresión regular que se escribió para mí para las contraseñas:
~^[a-z0-9!@#$%^&*()]{8,16}$~i
Se supone que coincide con cadenas de caracteres alfanuméricosy símbolos de 8-16 caracteres. Ahora necesito eliminar los requisitos de longitud mínima y máxima, ya que tengo que dividir los mensajes de error para facilitar su uso. Traté de sacar la parte {8,16} pero luego se rompe. ¿Cómo haría esto? Gracias de antemano.
Respuestas
2 para la respuesta № 1Supongo que está haciendo comprobaciones separadas para cadenas demasiado largas o demasiado cortas, y esta expresión regular solo se asegura de que no haya caracteres no válidos. Esto debería hacerlo:
~^[a-z0-9!@#$%^&*()]+$~i
+
medio uno o mas, *
medio cero o mas; Probablemente no importa cuál uses.
También me deshice de algunas barras invertidas innecesarias; ninguno de esos caracteres tiene un significado especial en una clase de caracteres (es decir, dentro de los corchetes).