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 :

ereg et numero de telephone [RegEx]


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Octobre 2008
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Octobre 2008
    Messages : 23
    Points : 17
    Points
    17
    Par défaut ereg et numero de telephone
    Bonjour à tous,

    Voila j'ai un formulaire dans le quel je test le champ téléphone

    Voici l'expression qui fonctionne très bien:
    ^(01|02|03|04|05|06|08|09)[0-9]{8}

    MAIS il ne détecte que les numéro a 10 chiffres !!
    Il ne faudrait une expression qui fasse la même chose mais en plus qui détecte les numéros à 4 chiffres, pour le numéro de poste interne.

    Voila.

  2. #2
    Membre régulier

    Profil pro
    Étudiant
    Inscrit en
    Décembre 2008
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2008
    Messages : 32
    Points : 80
    Points
    80
    Par défaut
    Coucou.

    ça va sembler un peu simpliste, mais pourquoi pas tout simplement :
    ^((01|02|03|04|05|06|08|09)[0-9]{8}|\D[0-9]{4}\D)$

    les deux \D s'assurent qu'ils n'y a pas de chiffre autour.

    Tu peux même logiquement simplifier en
    ^(0[1-9][0-9]{8}|\D[0-9]{4}\D)$ (ça t'évitera les doubles parenthésages dont je ne saurais prédire le comportement ^_^)

  3. #3
    Membre à l'essai
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Octobre 2008
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Octobre 2008
    Messages : 23
    Points : 17
    Points
    17
    Par défaut
    heu sa ne fonctionne pas, j'ai tester les deux possibilités,

    il me détecte bien un numéro a 10 chiffre mais pas a 4 chiffre !

  4. #4
    Membre régulier

    Profil pro
    Étudiant
    Inscrit en
    Décembre 2008
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2008
    Messages : 32
    Points : 80
    Points
    80
    Par défaut
    Mea culpa, le \D, au lieu d'avoir l'effet escompté, fait foirer le système.

    Visiblement :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <?php
     
    $motif = "!(0[1-9][0-9]{8}|[0-9]{4})!";
    $test = "blabla 0158745895 bla bla0125 bla";
     
    function treat($matches){
    	echo $matches[0]."<br>";
    }
     
    preg_replace_callback($motif,treat,$test);
     
    ?>

    me renvoie

    0158745895
    0125
    En espérant que ça t'aide

    Edit : après une courte réflexion, l'ennui, c'est qu'un numéro à 6 chiffres sera interprété comme un numéro à 4. Après, ça dépend du contenu de ton document...

  5. #5
    Membre à l'essai
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Octobre 2008
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Octobre 2008
    Messages : 23
    Points : 17
    Points
    17
    Par défaut
    Citation Envoyé par LogistiX Voir le message
    Edit : après une courte réflexion, l'ennui, c'est qu'un numéro à 6 chiffres sera interprété comme un numéro à 4. Après, ça dépend du contenu de ton document...
    heu ta solution marche tu tonner !

    il me détecte bien que les numéros à 10 et 4 chiffres !!!
    pas se a 6 chiffre !

    Merci encors.

  6. #6
    Membre expert
    Avatar de s.n.a.f.u
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2006
    Messages
    2 760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2006
    Messages : 2 760
    Points : 3 545
    Points
    3 545
    Par défaut
    Au passage : préférez le moteur PCRE utilisé par les fonctions preg plutôt que les fonctions ereg.
    • Avant de poser une question, n'hésitez pas à chercher dans la FAQ et les forums
    • Merci d'utiliser les balises de code (# dans l'éditeur)
    • N'oubliez pas de vous servir des boutons , et

    S.N.A.F.U

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

Discussions similaires

  1. format numero de telephone
    Par Invité dans le forum VBA Access
    Réponses: 2
    Dernier message: 02/10/2008, 17h10
  2. Renseigner numero de telephone
    Par identifiant_bidon dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 24/06/2008, 11h23
  3. Expression régulière pour numero de telephone
    Par moutey dans le forum Algorithmes et structures de données
    Réponses: 12
    Dernier message: 27/11/2007, 18h34
  4. Réponses: 8
    Dernier message: 11/12/2006, 19h03
  5. format du numero de telephone...?
    Par bris dans le forum Débuter
    Réponses: 2
    Dernier message: 20/09/2005, 11h15

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