/ / Edición de una expresión regular que no es mía, no estoy seguro de cómo ajustarlo a las necesidades: php, regex, string-length

Edición de una expresión regular que no es mía, no estoy seguro de cómo ajustarlo a las necesidades: php, regex, string-length

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 № 1

Supongo 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).