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 :

Preg_match sur un champs nom prénom [RegEx]


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Octobre 2008
    Messages
    104
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 104
    Par défaut Preg_match sur un champs nom prénom
    Salut,

    Je souhaite vérifier le champs d'un formulaire à l'aide d'un pregmatch, mais cette fonction n'est pas évidente à utiliser au début.

    La vérification doit être ainsi :
    - $champs est le champ nom prénom
    - $champs ne doit contenir des lettres et espaces, ainsi que les caractères - ' . (tiret/quote/simple point)
    - La partie caractère ne doit pas se répéter consécutivement (éviter d'avoir O''Connor par exemple) ET si possible éviter un caractère après un autre (éviter O'-Connor)

    Exemple :

    Jean-Paul O'Connor >> Vrai
    Jean'Paul O-Connor >> Vrai

    Jean--Paul O'Connor >> Faux

    Actuellement j'ai ceci , mais ca ne traite pas la partie caractère :

    preg_match('`^[a-zA-Z]+$`',$_POST[$champ])

    Merci.

  2. #2
    Modérateur
    Avatar de blueice
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2003
    Messages
    3 494
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2003
    Messages : 3 494
    Par défaut
    Si tu es sous PHP5, utilise les filtres de validation et de conversion

  3. #3
    Membre confirmé
    Inscrit en
    Octobre 2008
    Messages
    104
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 104
    Par défaut
    Salut,

    Ca m'aiguilles pas trop cette réponse... Filtres de validation & conversion, ca ne me dis pas grand chose

  4. #4
    Modérateur
    Avatar de blueice
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2003
    Messages
    3 494
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2003
    Messages : 3 494

  5. #5
    Membre confirmé
    Inscrit en
    Octobre 2008
    Messages
    104
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 104
    Par défaut
    Merci blueice, mais apparemment ca ne corresponds pas à ce dont j'ai besoin.

    La méthode preg_match semblerait la plus appropriée au traitement du champs, non ?

  6. #6
    Modérateur
    Avatar de blueice
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2003
    Messages
    3 494
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2003
    Messages : 3 494
    Par défaut
    Teste ça :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
     
    <?php
    function noRepeat( $str, $maxRepeat = 1) 
    {
        $alpha = '-_\'\"';
        $search = array();
        $replace = array();
     
        for($i=0,$len=strlen($alpha);$i<$len;++$i) 
        {
            $search[] = '~'.$alpha[$i].'{'.$maxRepeat.',}~i';
            $replace[] = $alpha[$i];
        }
     
        return preg_replace( $search, $replace, $str);
    }
     
    $output = "Jean--Paul O'Connor";
     
    echo "Base: ". $output."<br />";
    echo "Sortie : ".noRepeat($output);
     
    ?>

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

Discussions similaires

  1. [AC-97] #Nom? sur un champ date
    Par DjiLow dans le forum IHM
    Réponses: 3
    Dernier message: 21/07/2012, 18h52
  2. Nom prénom sur une meme ligne
    Par qmike dans le forum Langage
    Réponses: 2
    Dernier message: 15/09/2009, 08h16
  3. [MySQL] Afficher les champs nom et prénom dans la même colonne
    Par batoule80 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 02/11/2008, 21h40
  4. séparation d'un champ nom-prénom
    Par greg778 dans le forum Delphi
    Réponses: 1
    Dernier message: 09/05/2007, 11h46

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