Vérifier un numéro de téléphone portable ?

Messages postés
56
Date d'inscription
mardi 22 juin 2004
Statut
Membre
Dernière intervention
18 avril 2008
- - Dernière réponse : tucsoufle
Messages postés
1251
Date d'inscription
mardi 15 juillet 2003
Statut
Membre
Dernière intervention
30 septembre 2007
- 11 avril 2005 à 16:54
Bonjour,

J'ai besoin de vos compétences d'experts pour vérifier la validité d'un numéro de téléphone portable.
En effet, il faut que la chaine :

-Ne comporte que des nombres
-Qu'elle soit d'une longueur de 10 caractères
-Qu'elle commence par "06".

Le mieux sera une eregi mais je n'est pas les compétence.
Merci :-)
Afficher la suite 

8 réponses

Messages postés
1251
Date d'inscription
mardi 15 juillet 2003
Statut
Membre
Dernière intervention
30 septembre 2007
1
0
Merci
salut,

essaye ça :

<?php

$numero='0634187525';

if(!preg_match('`^(06[-. ]?(\d{2}[-. ]?){3}\d{2})$`',$numero))

{

echo 'C\'est pas un bon numéro!';

}

else

{

echo 'C\'est un bon numéro!';

}

?>
les caracteres autorisé pour delimiter tout les deux chiffres sont le point, l'espace

ou le tiret mais tu peut les changer si tu veut



voila

@+


Je te donne une idée, tu me donnes une idée, nous avons chacun deux idées.
Mon site Internet
Commenter la réponse de tucsoufle
Messages postés
56
Date d'inscription
mardi 22 juin 2004
Statut
Membre
Dernière intervention
18 avril 2008
0
Merci
Super merci !
Mais en fait je ne voudrais pas autoriser les points ni les espaces.
Il faut que les numéros soient collé et que la chaine fasse 10 caractères.
Commenter la réponse de porciner
Messages postés
10843
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
17
0
Merci
Hello :-)



Une autre facon de faire, histoire d'eviter les expreg. A voir si c'est plus rapide, je ne sais pas, mais il y a des chances :



<?php

$numero='0634187525';

if (is_numeric ($numero) && strpos($numero, '06') 0 && strlen ($numero) 10)

echo 'Numero correct';

else

echo 'Numero incorrect';

?>
Commenter la réponse de malalam
Messages postés
56
Date d'inscription
mardi 22 juin 2004
Statut
Membre
Dernière intervention
18 avril 2008
0
Merci
Arf oui j'y est pensé mais le is_numeric() autorise les "." as-tu une solution pour parrer cela ?
Commenter la réponse de porciner
Messages postés
10843
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
17
0
Merci
Boah ouais, lol



<?php

$numero='06346.87525';

if (is_numeric ($numero) && strpos($numero, '06') === 0
&& strlen ($numero) 10 && strpos($numero, '.')
false)

echo 'Numero correct';

else

echo 'Numero incorrect';

?>
Commenter la réponse de malalam
Messages postés
1251
Date d'inscription
mardi 15 juillet 2003
Statut
Membre
Dernière intervention
30 septembre 2007
1
0
Merci
lol

je sais pas si c'est plus rapide ou pas mais en tout cas ma solution est plus simple a lire
parce qu'un if (machin && truc && bidule && chmilblik) pfffff c'est le bordel

mais si c'est plus rapide, c'est sur que c'estmieux, faudrait tester ???


Je te donne une idée, tu me donnes une idée, nous avons chacun deux idées.
Mon site Internet
Commenter la réponse de tucsoufle
Messages postés
10843
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
17
0
Merci
Suis bien d'accord, lol.
Personnellement, je privilegierais ta solution, meme si il y a sans doute une perte de performance (a mon avis).
je prefere les codes clairs aux codes fouillis qui graillent quelques nanosecondes (oui j'exagere lol).
C'etait juste pour m'immiscer que je proposais ce code, au fond, lol.
Commenter la réponse de malalam
Messages postés
1251
Date d'inscription
mardi 15 juillet 2003
Statut
Membre
Dernière intervention
30 septembre 2007
1
0
Merci
LooOooL





Je te donne une idée, tu me donnes une idée, nous avons chacun deux idées.
Mon site Internet
Commenter la réponse de tucsoufle