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 :

Format de numéro de téléphone


Sujet :

Langage PHP

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 40
    Points : 34
    Points
    34
    Par défaut Format de numéro de téléphone
    Salut à tous,

    Je dois faire une modification sur ma Regex pour pouvoir accepter des numéro de téléphone de la sorte : +33 (0)0 00 00 00 00, et aussi 00 00 00 00 00 en acceptant les espaces.

    La Regex actuelle est la suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $pattern_telephone = "`^\+?\(?[0-9]+\)?[0-9]+$`";
    .

    que j'exécute avec la fonction preg_match.

    Là est mon souci... merci de votre aide

  2. #2
    Expert éminent sénior

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Points : 17 778
    Points
    17 778
    Par défaut
    A priori :
    Code X : Sélectionner tout - Visualiser dans une fenêtre à part
    `^(?:[+]\d{1,3}\s[(]\d[)]\d|\d{2})(?:\s\d{2}){4}$`D


    Sachant que l'on peut être plus ou moins strict sur le format ...

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 40
    Points : 34
    Points
    34
    Par défaut
    En effet ça fonctionne,

    Mais pas dans le cas ou le numéro ne contient aucun espace.

    Pour simplifier, le pattern doit accepter le signe +, les parenthèses ( ), les numéros 0-9 ainsi que des espaces.

  4. #4
    Expert éminent sénior

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Points : 17 778
    Points
    17 778
    Par défaut
    Le rajout du quantifieur ? (voir + éventuellement) après chaque \s ne suffirait-il pas ?

    Une façon simple de l'écrire pourrait être :
    `^[ \d()+]+$`D
    Se limitant ainsi à assurer que seuls ces caractères puissent être utilisés mais ne constitue pas une vérification du format du numéro saisi (ainsi 01234 879 + 12(4(987 serait accepté par exemple).

  5. #5
    Membre à l'essai
    Inscrit en
    Décembre 2007
    Messages
    20
    Détails du profil
    Informations personnelles :
    Âge : 29

    Informations forums :
    Inscription : Décembre 2007
    Messages : 20
    Points : 20
    Points
    20
    Par défaut
    Essais ca pour voir :
    Tu peux bien sur enlever les #

Discussions similaires

  1. Formater un numéro de téléphone
    Par neuneu1 dans le forum Langage
    Réponses: 8
    Dernier message: 01/07/2012, 08h00
  2. Formater un numéro de téléphone belge
    Par Zarvox dans le forum Langage
    Réponses: 8
    Dernier message: 19/08/2010, 13h27
  3. Formater un numéro de téléphone
    Par kyra2778 dans le forum SQL
    Réponses: 7
    Dernier message: 19/12/2009, 23h54
  4. Formater un numéro de téléphone en VBS
    Par neo76910 dans le forum VBScript
    Réponses: 2
    Dernier message: 27/07/2009, 11h53
  5. Formater un numéro de téléphone.
    Par maXrez dans le forum ASP.NET
    Réponses: 5
    Dernier message: 08/01/2008, 16h34

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