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!
A voir également:
- Regex comment interdire la répétition de caractères
- Caractères spéciaux - Guide
- Caracteres speciaux - Guide
- Caractères ascii - Guide
- Caractères spéciaux mac - Guide
- Exemple de mot de passe à 8 caractères - Guide
5 réponses
Salut
->
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 ;)
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.
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 ]
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:
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 #@&>?!...
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