• Jobs
  • About Us
  • professionals
    • Home
    • Jobs
    • Courses and challenges
  • business
    • Home
    • Post vacancy
    • Our process
    • Pricing
    • Assessments
    • Payroll
    • Blog
    • Sales
    • Salary Calculator

0

223
Views
construir una expresión regular para la verificación de contraseña

Hola, tengo una verificación de seguridad de contraseña en PHP. que se parece a esto:

 public static function validPass($candidate) { $r1 = '/[AZ]/'; //1 upper $r2 = '/[az]/'; //2 lower $r3 = '/[!@#$%^&*()\-_=+{}:<.>]/'; //1 special char $r4 = '/[0-9]/'; //1 number //no space if (preg_match('/\s/',$candidate)) { return false; } if (preg_match_all($r1, $candidate, $o) < 1) { return false; } if (preg_match_all($r2, $candidate, $o) < 1) { return false; } if (preg_match_all($r3, $candidate, $o) < 1) { return false; } if (preg_match_all($r4, $candidate, $o) < 1) { return false; } return true; }

entonces 1 mayúscula, 1 minúscula, 1 número, 1 carácter especial y no se permiten espacios

ahora estoy usando un validador de javascript para la interfaz y la única característica personalizada que puedo agregar para la contraseña es agregar una expresión regular, así que tengo que construir esto en una expresión regular. Probé y tengo hasta ahora:

 ^(?=.*[^a-zA-Z])(?=.*[az])(?=.*[AZ])$

pero no sé cómo abordar esto. ¿Cuál es la mejor manera de realizar estas comprobaciones en una expresión regular?

about 3 years ago · Santiago Trujillo
1 answers
Answer question

0

Su patrón ^(?=.*[^a-zA-Z])(?=.*[az])(?=.*[AZ])$ es un ejemplo de una expresión regular que nunca coincidirá porque, con anticipación , necesita al menos 1 letra que no sea letra, mayúsculas y minúsculas, pero el patrón de consumo solo coincide con una cadena vacía.

Puede usar una sola expresión regular como

 ^(?=.*[AZ])(?=.*[az])(?=.*[!@#$%^&*()_=+{}:<.>-])(?=.*[0-9])\S*$

Si necesita establecer un número mínimo de caracteres, reemplace el último * con un cuantificador limitante, por ejemplo, {8,} para requerir al menos 8 caracteres.

Vea la demostración de expresiones regulares .

Detalles :

  • ^ - comienzo de la cadena
  • (?=.*[AZ]) - al menos una mayúscula
  • (?=.*[az]) - - al menos una minúscula
  • (?=.*[!@#$%^&*()_=+{}:<.>-]) - al menos un carácter especial
  • (?=.*[0-9]) - al menos un dígito
  • \S* - 0 o más caracteres que no sean espacios en blanco
  • $ - fin de cadenas.
about 3 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Our process Sales
Legal
Terms and conditions Privacy policy
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Recommend me some offers
I have an error