Valider un numéro de téléphone français

Soyez le premier à donner votre avis sur cette source.

Snippet vu 81 053 fois - Téléchargée 27 fois

Contenu du snippet

Voici une petite fonction qui permet de vérifier si un numéro de téléphone français est correct. Il intègre les préfixes suivants : 01 - 02 - 03 - 04 - 05 - 06 et 08. Cela peu-être très pratique dans un formulaire pour vérifier si le champ renseigné est correct. Pour réaliser cette opération, ce script s'appuie sur une regex toute bête :)

Source / Exemple :


/******************************************************************
	NOM	: 	Verifier_Numero_Telephone()
	BUT		:	Verifier le format d'un numero de telephone (01|02|03|04|05|06|08) + suite de chiffres
	E		:	Le numero de telephone
	S		:	Booleen
	COM		:

                                                                                                                                      • /
function Verifier_Numero_Telephone(num_tel) { // Definition du motif a matcher var regex = new RegExp(/^(01|02|03|04|05|06|08)[0-9]{8}/gi); // Definition de la variable booleene match var match = false; // Test sur le motif if(regex.test(num_tel)) { match = true; } else { match = false; } // On renvoie match return match; } /************************************************* UTILISATION
                                                                                                    • /
if(Verifier_Numero_Telephone('0479010203') == true) { alert('Numéro correct !'); } else { alert('Numéro incorrect !'); }

A voir également

Ajouter un commentaire

Commentaires

cs_bultez
Messages postés
13619
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
26 -
si j'essaie mon n° de tel perso : ça me dit n° incorrect

il faudrait faire : if(Verifier_Numero_Telephone("0123456789"))

et en renvoyant directement le résultat du regex.test ?
function Verifier_Numero_Telephone(num_tel)
{
var regex = new RegExp(/^(01|02|03|04|05|06)[0-9]{8,8}/);
return (regex.test(num_tel)) ;
}

je n'ai pas regardé de très près le regexp...
webdeb
Messages postés
509
Date d'inscription
samedi 5 avril 2003
Statut
Membre
Dernière intervention
31 mars 2009
1 -
Normal que ça ne marche pas car tu testes tes chiffres comme des chaînes de caractères. Tu as passé ton paramètre entre double quotes (donc tu dis à Javascript que ton numéro de téléphone est une chaîne de caractères) alors qu'en le passant sans quotes, tu spécifies que c'est un nombre. La regex considère que le paramètre est un nombre. Il faut donc que tu fasses :

if(Verifier_Numero_Telephone(0123456789))
{
alert('OK');
}
else
{
alert('Pas OK');
}

++
cs_bultez
Messages postés
13619
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
26 -
je parlais de ton script en disant qu'il ne fonctionne pas.
je te proposais une correction et une simplification.
econs
Messages postés
4066
Date d'inscription
mardi 13 mai 2003
Statut
Modérateur
Dernière intervention
23 décembre 2008
18 -
Salut,

Pourquoi n'as-tu pas considéré que les numéros commençant par 08 étaient des numéros français ?
Ces numéros sont de plus en plus nombreux, et ne sont pas forcément des numéros payants mais bien des numéros de clients (téléphone freebox notamment)
webdeb
Messages postés
509
Date d'inscription
samedi 5 avril 2003
Statut
Membre
Dernière intervention
31 mars 2009
1 -
C'est bon ça marche nickel et j'ai ajouté les préfixes 08 bien qu'au début je ne voulais pas car ce sont surtout des numéros surtaxés.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.