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 :

Regexp syntaxe téléphone [RegEx]


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Inactif
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 101
    Par défaut Regexp syntaxe téléphone
    Bonjour,

    Merci d'avance pour votre aide.

    Je cherche à faire une règle pour les numéros de téléphone, je voudrais vérifier sa syntaxe sur 10 chiffres.

    - Permettre 10 chiffre uniquement ( pas d'indicatif )
    - permettre les syntaxes 01.02.03.04.05 ou 0102030405 ou 01 02 03 04 05
    - Vérifier si le nombre de chiffre est bon ( return faux si 9 ou 11 chiffres par ex )

    Merci encore

  2. #2
    Membre très actif Avatar de metagoto
    Profil pro
    Hobbyist programmateur
    Inscrit en
    Juin 2009
    Messages
    646
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Hobbyist programmateur

    Informations forums :
    Inscription : Juin 2009
    Messages : 646
    Par défaut
    Un truc comme ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $tel_str = str_replace(array('.', ' '), '', $tel_str);
    preg_match('/^\d{10}$/', $tel_str);

  3. #3
    Inactif
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 101
    Par défaut
    merci de m'avoir répondu.

    Donc pregmatch ont recherche 10 chiffres donc ok mais j'ai une question est ce ça prends en compte les caractères " . , ; " ou les espaces ainsi que le bon nombres de chiffre soit 10 ?

    Je suis exigent mais 80% des visiteurs sont des femmes lambda et galère beaucoup avec le champ tel.

    merci encore

  4. #4
    Membre très actif Avatar de metagoto
    Profil pro
    Hobbyist programmateur
    Inscrit en
    Juin 2009
    Messages
    646
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Hobbyist programmateur

    Informations forums :
    Inscription : Juin 2009
    Messages : 646
    Par défaut
    J'ai édité mon précédent post, j'avais oublié que les espaces étaient autorisés.
    Ma solution est très simple: le str_replace enlève les carractères autorisés ('.' et ' ') puis ensuite le preg_match vérifie qu'il n'y a plus que 10 chiffres et c'est tout.

  5. #5
    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 : 51
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2006
    Messages : 2 760
    Par défaut
    Salut,

    perso, j'aurais fais ça

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    if ( preg_match('/^\d{2}([.\s]?)\d{2}\1\d{2}\1\d{2}\1\d{2}$/', $str) ) 
        print "ok";

  6. #6
    Inactif
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 101
    Par défaut
    ça fonctionne très merci à vous deux

  7. #7
    Inactif
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 101
    Par défaut
    En faite pas tout à fait si une de mes visiteurs oublie un point pas exemple dans cette syntaxe 01.02.03.04.05 ça me renvoi faux, serait il possible de renvoyer vrai.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    if ( preg_match('/^\d{2}([.\s]?)\d{2}\1\d{2}\1\d{2}\1\d{2}$/', $str) ) 
        print "ok";
    merci d'avance

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 27/10/2011, 15h58
  2. [RegEx] Résultat d'un regexp sur un numéro de téléphone
    Par Invité dans le forum Langage
    Réponses: 2
    Dernier message: 27/06/2008, 21h57
  3. RegExp, certainement la syntaxe
    Par Orgied dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 25/02/2008, 12h12
  4. [Syntaxe ?] Regexp en Python
    Par Thomus38 dans le forum Général Python
    Réponses: 1
    Dernier message: 21/08/2007, 14h43
  5. JavaScript : Regexp correspondant à un numéro de téléphone
    Par arkienou dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 31/08/2006, 17h47

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