Regex comment interdire la répétition de caractères
julioma
-
julioma -
julioma -
Bonjour,
Dans un formulaire de contact, je souhaite interdire la répétition de plus de 2 lettres (ex aaa), dans le but d'éviter les erreurs.
voila ou j'en suis:
le problème c'est que cela m'interdis d'écrire plus de 3 lettres et non 3 lettres identiques
Voila, c'est tout...
Merci!
Dans un formulaire de contact, je souhaite interdire la répétition de plus de 2 lettres (ex aaa), dans le but d'éviter les erreurs.
voila ou j'en suis:
if(preg_match("#([a-zA-Z]){3,}",$_POST['nom']))
le problème c'est que cela m'interdis d'écrire plus de 3 lettres et non 3 lettres identiques
Voila, c'est tout...
Merci!
5 réponses
-
Salut
if(preg_match('/(.)(\1{3,})/',$text,$out)) // Action a faire si il y a plus de 3 fois la même lettre
->
Ce preg_match detecte si il y a plus de 3 fois la meme lettre a la suite , ainsi les chaine comme :
aaaa
activeront le preg_match
de meme si on fait quelque chose comme :
aabbbbcc
ici le BBBB sera detecté
Normalement ceci devrais marcher ;) -
Merci por la réponse rapide ça fonctionne.
Et si je veux également interdire les nombres et le caractères spéciaux du genre #@&"(>?;/.?...
Pardonnez moi, je débute avec les regex et la je suis dans une tempête cérébral force 10. -
Donc si je comprend bien vous voulez simplement autoriser les caractères [ majuscule et minuscule incluse ]
si oui :
if(preg_match('/([a-z])(\1{3,})/i',$text,$out))
// Action a faire si il y a plus de 3 fois la même lettre
Ainsi cela détectera les truc du genre :
AAaa
ou aaaa
etc [ majuscule et minuscule comprise ] -
Oui, c'est ça, je ne veux autoriser que les lettres minuscules ou majuscules et faire en sorte qu'1 lettre ne puisse pas etre répétée 3 fois consécutivement.
voici ce que j'ai écris:
if(preg_match('/([a-zA-Z])(\1{2,})/i',$_POST['nom'])) { echo '*vous avez mal renseigné le champ NOM!'; }
seulement, j'ai le même résultat qu'avec le premier code.
ça ne passe pas si un caractère est répéter plus de 2 fois, par contre, on peu entrer des nombres et des #@&>?!... -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -