[RESOLU] Amélioration d'un regex

Eléphant du PHP | 418 Messages

20 janv. 2013, 22:03

Salutation à tous

refaisant un lifting à mon site, j'en profite pour faire ce que plusieurs membres m'ont demander, à savoir accepter les caractères spéciaux dans le MDP.

Sachant qu'il faut qu'il mettent absolument des majuscule, des minuscules, et des chiffres.

Voici la régex actuelle, mais qui ne n'autorise pas les caractères spéciaux.
if (!empty($password) && (!preg_match("/^(?=.*[a-z]{1,})(?=.*[A-Z]{1,})(?=.*[0-9]{1,})[a-zA-Z0-9]+$/",$password)))
Comment feriez vous pour autoriser les caractères spéciaux (qui ne sont pas obligatoires) tout en maintenant la restriction des majuscule, des minuscules, et des chiffres.

J'ai essayer de le faire, mais en vain, et sur le net, ce que j'ai trouver est pour des cas spécifiques, mais pas pour mon cas, sachant que j'ai pas fouiller tout le web, j'ai pas le temps ^^.

Merci de votre aide

Cordialement

Eléphant du PHP | 418 Messages

21 janv. 2013, 09:16

j'ai peux être trouver

Voici le nouvelle regex, et elle fonctionne.

Code : Tout sélectionner

^(?=.*[A-Z]{1,})(?=.*[a-z]{1,})(?=.*[0-9]{1,})[\d\w\W]+$
Est ce correcte?

Merci de votre aide

Cordialement

Eléphant du PHP | 343 Messages

21 janv. 2013, 18:40

Pour info, voila la représentation de ta regex ;) :

Image
Développeur web

Eléphant du PHP | 418 Messages

21 janv. 2013, 21:32

ça m'a l'air ok, j'ai pas encore le coup avec les regex, j'en fait pas souvent donc j'oublie Oo (mauvais élève je sais je sais ^^)
Puis je savoir comment tu as obtenu le résultat imagé de ma regex, ça me serais utile pour mieux les utiliser à l'avenir?

Merci beaucoup pour ton aide

Cordialement

Eléphant du PHP | 343 Messages

22 janv. 2013, 01:30

Je pense que personne aime les regex :D
Pour l'outil: http://www.regexper.com/
Développeur web