expression régulière sur un string de type nom

Eléphant du PHP | 363 Messages

04 nov. 2015, 12:43

Coucou,

Je cherche la bonne expression régulière pour permettre la saisie d'un nom de famille à savoir que des lettres majuscules ou non, avec possibilités de tirets du 6, espaces et apostrophes en testant le fait que je ne peux pas avoir 2 caractères spéciaux consécutifs ou à la fin. Çà doit traiter tous les cas de figure je pense...

Pour le moment j'ai fait ceci :

Code : Tout sélectionner

/^[a-zA-Z '-]+$/.test( name );
Féfé
Dis-donc fossoyeur, t'as une dent contre moi ou quoi ?

Mammouth du PHP | 2703 Messages

04 nov. 2015, 12:59

il peut y avoir des accents dans un nom de famille.

^[a-zA-Z '-]+[a-zA-Z]$
pour éviter les caractères spéciaux à la fin

[ '-]{2,}
pour faire un second test pour éviter la répétition de caractères spéciaux.

Eléphant du PHP | 363 Messages

04 nov. 2015, 13:19

oui c'est vrai, merci or 1
tout ne peut pas tenir sur 1 seule expression, je suis obligée de faire 2 tests ?

Fée
Dis-donc fossoyeur, t'as une dent contre moi ou quoi ?

Eléphant du PHP | 363 Messages

05 nov. 2015, 00:31

Bonsoir,

Vraiment personne ?
Dis-donc fossoyeur, t'as une dent contre moi ou quoi ?

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

05 nov. 2015, 02:52

Je rejoints ce que t'as proposé Or1, je ne pense pas qu'on puisse faire ça en une seule regex, à moins de la complexifier énormément
Quand tout le reste a échoué, lisez le mode d'emploi...