Regex mot de passe PHP
Résolu/Fermé
A voir également:
- Regex mot de passe PHP
- Voir mot de passe wifi android - Guide
- Mot de passe administrateur - Guide
- Trousseau mot de passe iphone - Guide
- Identifiant et mot de passe - Guide
- Réinitialiser pc sans mot de passe - Guide
3 réponses
jordane45
Messages postés
38336
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
7 décembre 2024
4 714
Modifié le 4 nov. 2022 à 11:00
Modifié le 4 nov. 2022 à 11:00
Bonjour,
Déjà, tu peux construire et tester tes regex ici : https://regex101.com/
Ensuite, niveau pattern, tu pourrais partir sur un truc du genre :
(?=.*[!@#$%^&*-_])(?=.*[0-9])(?=.*[A-Z]).{12,30}
Grandasse_
Messages postés
924
Date d'inscription
jeudi 28 janvier 2010
Statut
Membre
Dernière intervention
27 avril 2023
594
4 nov. 2022 à 11:03
4 nov. 2022 à 11:03
Bonjour,
Quels sont tes cas de tests ?
Chez moi ces deux chaines matchent bien, je ne vois pas le problème.
rE@1!_8-$1gy
rE@1!#8-$1gy
Je teste ça ici : https://regex101.com/
Grandasse_
Messages postés
924
Date d'inscription
jeudi 28 janvier 2010
Statut
Membre
Dernière intervention
27 avril 2023
594
>
Darikl
Modifié le 4 nov. 2022 à 15:47
Modifié le 4 nov. 2022 à 15:47
Ok j'ai trouvé
Tu as écrit :
preg_match('#^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*\W).{12,}$#')
Alors que tu veux :
preg_match('#^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*\w).{12,}$#')
La différence est le \w au lieu du \W sur la fin.
EDIT : et même il te faudrait :
preg_match('#^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[@€\[$\]!?_-]).{12,}$#')
4 nov. 2022 à 14:49
Je viens de tester la tienne elle prend bien le _ comme caractère spéciale par contre on peut faire des mots de passes uniquement en majuscule alors qu'il faudrait une minuscule au moins