-
Regex contrôle password
Salut à tous,
J'ai une demande que je n'arrive pas à satisfaire, je dois écrire une expression régulière qui contrôle un mot de passe selon les caractéristiques suivants :
- Minimum 8 caractères
- Exactement 3 chiffres
Voici ce que j'ai pondu pour le moment :
Code:
(?=(.*[a-zA-Z]))(?=(.*[0-9]){3}).{8,}
Cette expression contrôle bien les 8 caractères minimums, et minimum 3 chiffres (on peut en mettre plus ...).
Mais pour définir exactement 3 chiffres je bute !
Si quelqu'un a une idée, je suis preneur :roll:
Merci à tous
-
Bonjour,
c'est bizarre ce "exactement 3 chiffres"...
C'est plus sportif !
J'ai trouvé une solution avec look-ahead négatif : pas plus de 4 chiffres : (?!(.*[0-9]){4})
Ca donne ça :
(?=(.*[a-zA-Z]))(?=(.*[0-9]){3})(?!(.*[0-9]){4}).{8,}
A priori, ça passe
Et je ne l'ai pas vue ailleurs, donc il faut la faire breveter et déposer un ©...
-
... Ou alors on le fait simplement sans regex. Compter les caractères et les chiffres... Ça se fait en deux lignes claires.
-
Bonjour,
Merci beaucoup Kox2ee, en effet ça semble fonctionner !!
Ce sont les utilisateurs qui vont péter les plombs avec cette restriction ... Mais bon, le client est roi !
Thelvin je suis bien d'accord avec toi, mais ces règles sont enregistrées en BD pour paramétrage selon le client. Du coup coincé avec les regex.
Merci encore pour votre aide :ccool: