Regex pour numéro de téléphone

thombou Messages postés 195 Date d'inscription   Statut Membre Dernière intervention   -  
ktm620enduro Messages postés 293 Date d'inscription   Statut Membre Dernière intervention   -
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.

2 réponses

Bablon Arnaud Messages postés 74 Date d'inscription   Statut Contributeur Dernière intervention   11
 
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   Statut Membre Dernière intervention   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   Statut Contributeur Dernière intervention   11
 
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   Statut Membre Dernière intervention   38
 
$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