Regex pour numéro de téléphone

Fermé
thombou Messages postés 195 Date d'inscription mercredi 19 mai 2010 Statut Membre Dernière intervention 12 avril 2018 - Modifié par thombou le 23/11/2011 à 13:52
ktm620enduro Messages postés 293 Date d'inscription mardi 21 septembre 2010 Statut Membre Dernière intervention 12 mars 2013 - 30 janv. 2012 à 22:58
Bonjour à tous !
Je voudrais faire une régex pour vérifier la syntaxe d'un numéro de téléphone mais qui peut être imcomplet.
Comme on dit que rien ne vaut des exemple, je voudrais que ma régec puisse accepter les numéros de téléphone suivants :

-01.65.
-0165-89
-02 65.45-98 45
-01.6


J'ai fait ca comme Regex : "#^0[1-9]([-. ]?[0-9]{2}){0,4}$#"
mais elle n'accepte pas le numéro de téléphone :01.56 par exemple.
Pourriez vous me dire ce que je dois mettre ?
Merci beaucoup
Cordialement
Thombou




L'informatique est un monde dont on a jamais fini de faire le tour.
A voir également:

2 réponses

Bablon Arnaud Messages postés 74 Date d'inscription jeudi 13 janvier 2011 Statut Contributeur Dernière intervention 9 décembre 2011 11
24 nov. 2011 à 01:33
si ta regex doit pouvoir récupérer aussi bien 10 caractère que 3 pourquoi tu ne récupéré pas uniquement les chiffres sans te soucier de ce qui pourrais trainer a l'intérieur (-,. azerty....) ?
0
thombou Messages postés 195 Date d'inscription mercredi 19 mai 2010 Statut Membre Dernière intervention 12 avril 2018 21
24 nov. 2011 à 18:21
Peux tu me dire comment faire STP.
Je ne suis pas très expérimenté.
Et apres il faut que je rajoute des points entre chaque parire de chiffres car dans ma BDD il y a des points.
Merci d'avance
Thombou
0
Bablon Arnaud Messages postés 74 Date d'inscription jeudi 13 janvier 2011 Statut Contributeur Dernière intervention 9 décembre 2011 11
Modifié par Bablon Arnaud le 24/11/2011 à 23:22
Dans l'esprit de la 1ere regex :

$s_str = "10.13-88 3546";
preg_match_all('#([0-9]{2})#', $s_str, $a_array);
$s_str = implode('', $a_array[1]);
$s_str = preg_replace('#([0-9]{2})#', '$1.', $s_str);
$s_str = substr($s_str, 0, -1);
print "<pre>";
var_dump($s_str);
print "</pre>";
0
ktm620enduro Messages postés 293 Date d'inscription mardi 21 septembre 2010 Statut Membre Dernière intervention 12 mars 2013 38
30 janv. 2012 à 22:58
$a='0685336183'; // ou tout autre numéro de téléphone
$b=preg_replace('#[^0-9]#i','',$a);
et voila ton numéro de téléphone entièrement nettoyé de tout ce qui n'est pas un chiffre...
0