IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Expression régulière pour prénom/nom


Sujet :

Langage PHP

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 15
    Points : 8
    Points
    8
    Par défaut Expression régulière pour prénom/nom
    Bonjour!

    Je suis un débutant au niveau des expressions régulières. Ça fait déjà plusieurs dizaines de minutes que j'essaie des trucs pour valider un formulaire en ligne avec elles-ci mais je ne semble pas y arriver. J'ai chercher dans Internet mais à ma grande surprise je n'ai pas pu trouver.

    Je cherche une expression régulière pour valider un champ de nom. Simple guillement, lettres accentuées/minuscules/majuscules, espace... c'est pas mal tout ce que je doit accepter il me semble.

    J'ai essayé ceci mais ça ne fonctionne pas :

    ^([a-zA-Z'-àâéèêôùûçÀÂÉÈÔÙÛÇ\s]{1,30})$

    Pourriez-vous m'aider s'il vous plaît?

    Merci et passez une bonne journée!

  2. #2
    Rédacteur/Modérateur

    Avatar de Antoun
    Homme Profil pro
    Architecte décisionnel
    Inscrit en
    Octobre 2006
    Messages
    6 280
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 6 280
    Points : 11 736
    Points
    11 736
    Par défaut
    '-à signifie : tous les caractères de ' à à. Pour utiliser le tiret dans une classe, il faut le placer en dernier :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ^([a-zA-Z'àâéèêôùûçÀÂÉÈÔÙÛÇ\s-]{1,30})$
    Antoun
    Expert Essbase, BO, SQL

    La bible d'Essbase, 2ème édition

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 15
    Points : 8
    Points
    8
    Par défaut
    Merci Antoun!

    L'expression semble fontionner avec http://www.regextester.com/ mais pas dans ma page. Ça doit être un truc de MagicQuotes et quelque chose comme ça...

    De retour au boulot comme on dit!

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 15
    Points : 8
    Points
    8
    Par défaut
    Bizarre... je croyais que je le problème résidait dans le fait que je passe la valeur par un formulaire (POST) mais ça ne fonctionne pas même lorsque je met la chaîne dans une simple variable.

    Quand j'enlève l'espace ça fonctionne par contre.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    $strExpression = "^([a-zA-Z'àâéèêôùûçÀÂÉÈÔÙÛÇ\s-]{1,30})$";
    //$strChaine = $_POST["first_name"];
    $strChaine = "D'ardd d";
     
    if(ereg($strExpression, $strChaine))
    	{
    	echo("TRUE-resultat[".ereg($strExpression, $strChaine)."]<br />\n");
    	}
    	else
    	{
    	echo("FALSE-resultat[".ereg($strExpression, $strChaine)."]<br />\n");
    	};
    Une idée de la source du problème? Je remarque aussi que lorsque j'enlève l'espace, la valeur retournée ne devrait pas être 7, soit le nombre de caractères valides à l'expression?

    Merci pour votre précieux temps!

  5. #5
    Rédacteur/Modérateur

    Avatar de Antoun
    Homme Profil pro
    Architecte décisionnel
    Inscrit en
    Octobre 2006
    Messages
    6 280
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 6 280
    Points : 11 736
    Points
    11 736
    Par défaut
    d'après ce que tu dis, ce doit être un problème avec \s. Essaie de le remplacer par [:blank:] :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ^([a-zA-Z'àâéèêôùûçÀÂÉÈÔÙÛÇ[:blank:]-]{1,30})$
    Si ça ne fonctionne pas, utilise preg_match à la place de ereg


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    /^([a-zA-Z'àâéèêôùûçÀÂÉÈÔÙÛÇ[:blank:]-]{1,30})$/
    Antoun
    Expert Essbase, BO, SQL

    La bible d'Essbase, 2ème édition

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 15
    Points : 8
    Points
    8
    Par défaut
    Tout semble fonctionner à merveille avec un ereg!

    Merci de ton aide et de ton temps!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [RegEx] Expression régulière pour supprimer des doublons
    Par cbroissa dans le forum Langage
    Réponses: 5
    Dernier message: 20/05/2017, 01h59
  2. Expression régulière pour un nom
    Par SQLpro dans le forum ASP.NET
    Réponses: 10
    Dernier message: 06/03/2011, 17h38
  3. [RegEx] Simple expression régulière pour ereg_replace
    Par aurapp dans le forum Langage
    Réponses: 6
    Dernier message: 12/03/2006, 12h34
  4. Expression régulière pour récupérer le nom d'un fichier
    Par calimero2611 dans le forum Langage
    Réponses: 5
    Dernier message: 24/02/2006, 19h00
  5. Expression Régulière pour float
    Par zebiloute dans le forum Langage
    Réponses: 5
    Dernier message: 26/09/2005, 14h03

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo