Précédent   Forum des professionnels en informatique > PHP > Langage > Regex
Regex Forum d'entraide sur les expressions rationnelles PHP. Avant de poster -> FAQ regex, Cours de regex et Sources de regex
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 09/12/2007, 17h53   #1
Invité régulier
 
Inscription : septembre 2007
Messages : 40
Détails du profil
Informations forums :
Inscription : septembre 2007
Messages : 40
Points : 8
Points : 8
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 :
$pattern_telephone = "`^\+?\(?[0-9]+\)?[0-9]+$`";
.

que j'exécute avec la fonction preg_match.

Là est mon souci... merci de votre aide
Heilong est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/12/2007, 21h29   #2
En attente de confirmation mail
 
Inscription : juin 2002
Messages : 6 164
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 6 164
Points : 6 404
Points : 6 404
A priori :
Code X :
`^(?:[+]\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 ...
julp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/12/2007, 15h20   #3
Invité régulier
 
Inscription : septembre 2007
Messages : 40
Détails du profil
Informations forums :
Inscription : septembre 2007
Messages : 40
Points : 8
Points : 8
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.
Heilong est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/12/2007, 15h36   #4
En attente de confirmation mail
 
Inscription : juin 2002
Messages : 6 164
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 6 164
Points : 6 404
Points : 6 404
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).
julp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/12/2007, 21h07   #5
Candidat au titre de Membre du Club
 
Inscription : décembre 2007
Messages : 20
Détails du profil
Informations personnelles :
Âge : 18

Informations forums :
Inscription : décembre 2007
Messages : 20
Points : 14
Points : 14
Essais ca pour voir :
Tu peux bien sur enlever les #
Mr[ben] est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 12h46.


 
 
 
 
Partenaires

Hébergement Web