[RESOLU] Probleme controle 'regex'

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] Probleme controle 'regex'

Re: [RESOLU] Probleme controle 'regex'

par @rthur » 15 mai 2024, 10:57

Moi j'aurai fait un preg_match() par condition pour que ça reste lisible et + facilement maintenable

Probleme controle 'regex'

par filou80 » 04 mai 2024, 21:41

Bonjour,

Je bloque sur un controle de mot de passe, je souhaite que le mot de passe doit être compris entre 8 et 20 caractéres avec au moins :
1 lettre minuscule
1 lettre majuscule
1 chiffre
1 caractére spéciaux parmis @$!%*?&
peu importe l'ordre :

Voici mon code :

Code : Tout sélectionner

if (empty($motDePasse)) { $error["motDePasse"] = 'Mot de passe obligatoire.'; } elseif (strlen($motDePasse) < 8 || strlen($motDePasse) > 20) { $error["motDePasse"] = 'Le mot de passe doit contenir entre 8 et 20 caractères.'; } elseif (!preg_match('/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&]{8,20}$/', $motDePasse)) { $error["motDePasse"] = 'Mot de passe non conforme.'; }
mais ceci ne fonctionne pas.

Merci par avances pour vos retour et votre aide.
Bonne soirée.
@+ Filou