begin process at 2012 05 27 20:50:08
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Formulaire

 > VALIDER UN NUMÉRO DE TÉLÉPHONE FRANÇAIS

VALIDER UN NUMÉRO DE TÉLÉPHONE FRANÇAIS


 Information sur la source

Note :
5 / 10 - par 1 personne
5,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Formulaire Classé sous :telephone, regex, numero, formulaire, phone Niveau :Débutant Date de création :31/03/2006 Date de mise à jour :31/03/2006 19:21:23 Vu :65 848

Auteur : webdeb

Ecrire un message privé
Site perso
Commentaire sur cette source (20)
Ajouter un commentaire et/ou une note

 Description

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

  • /******************************************************************
  • 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 !');
  • }
/******************************************************************
	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 !');
}



 Historique

31 mars 2006 13:10:28 :
Ajout des 08 comme préfixe téléphonique
31 mars 2006 13:12:24 :
Correction d'un petit bug de syntaxe, tout marche à merveille ;)
31 mars 2006 17:00:27 :
Préfixes 08 OK !
31 mars 2006 19:21:24 :
Petite modification du code.

 Sources du même auteur

Source avec Zip WD_MORPION
Source avec Zip MODULE DE CRÉATION D'ARTICLE AVEC BBCODE !
Source avec Zip GÉNÉRATEUR DE STYLES CSS !
GÉNÉRATEUR DE SCROLLBARS !

 Sources de la même categorie

Source avec Zip Source avec une capture FORMULAIRE TABLEAU par vic511
Source avec Zip Source avec une capture FORMULAIRE DYNAMIQUE par Niidhogg
Source avec Zip Source avec une capture CONTRAINTE DE SAISIE SUR CHAMPS INPUT par ryosama
SELECTS DÉPENDANTS PRÉ-CHARGÉS D'UNE SEULE OPTION par phm
Source avec Zip Source avec une capture BOITE DE DIALOGUE MODALE DE SÉLECTION D'UNE LISTE D'ICONES par JJDai

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture FORMULAIRE TABLEAU par vic511
Source avec Zip Source avec une capture FORMULAIRE DYNAMIQUE par Niidhogg
Source avec une capture FORMULAIRE D'INSCRIPTION+VÉRIFICATION par ellissss
Source avec Zip SYSTÈME D'UPLOAD DE FICHIER SANS RECHARGEMENT DE LA PAGE. par theptitprince
Source avec Zip Source avec une capture SCROLL BARS EN JAVASCRIPT SUR UNE PAGE HTML par Glennouchet

Commentaires et avis

Commentaire de bultez le 31/03/2006 09:54:25

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...

Commentaire de webdeb le 31/03/2006 10:16:14

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');
}

++

Commentaire de bultez le 31/03/2006 10:26:30

je parlais de ton script en disant qu'il ne fonctionne pas.
je te proposais une correction et une simplification.

Commentaire de econs le 31/03/2006 12:27:22 administrateur CS

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)

Commentaire de webdeb le 31/03/2006 13:11:49

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.

Commentaire de bultez le 31/03/2006 15:10:37

et bien voila, en mettant les ' ou les " ça marche mieux.
il ne reste qu'à supprimer les tests inutiles et retourner
directement ce que renvoie regext.test        @+

Commentaire de webdeb le 31/03/2006 16:59:08

Oui en fait il faut bien les guillemets mais c'est bizarre parcequ'hier j'ai testé sans et ça marchait bien mais j'avais quand même une erreur dans la console javascript de Firefox. Si tu testes, il te dira que le chiffre n'est pas un octal correct ou quelque chose comme ça.

++

Commentaire de coucou747 le 31/03/2006 18:28:37 administrateur CS

<html>
<head>
<title>Hello world qui permet de tester des n° de téléphones valides</title>
<script>
function verifier(num_tel)
{
var regex = new RegExp(/^(01|02|03|04|05|06|08)(([\.\-\/])?[0-9][0-9]){4}/gi);
return (regex.test(num_tel))
}
</script>
</head>
<body>
<input type="text" id="id" />
<input type="button" onclick="alert(verifier(document.getElementById('id').value));" value="vérifier" />
</body>
</html>

Personellement, je penses que mon code perlmet plus de choses comme par exemple, valider aussi les tels sous la forme AA-AA-AA-AA-AA ou en remplaçant les - par des . ou des /...
de plus {8,8} est à remplacer par {8}

Commentaire de webdeb le 31/03/2006 19:19:49

Oui c'est vrai ! merci pour la contribution ;)

Commentaire de bultez le 01/04/2006 05:34:19

>>il te dira que le chiffre n'est pas un octal correct
en javascript si 0xnombre , c'est de l'héxa, 0nombre c'est de l'octal...
parseInt(nombre,10) pour que ce soit correct
°../gi g : veut dire répéter sur toute la zone,
pour être utile il faudrait plusieurs n° de téléphones
      i : ignorer les différences entre majuscules/minuscules
  sur des chifres, ça ne sert peut-être pas à grand chose
° encore une remarque et après j'arrête :
  if (test) donne le même résultat que if ( test==true )
  il faudrait que des spécialistes nous disent, mais
  je pense qu'il vaut mieux utiliser if ( test ).

Commentaire de coucou747 le 01/04/2006 12:27:07 administrateur CS

euh... en js, je n'en sais rien, mais en php :

if ($var) correspond à la fois à :
if ($var===NULL || $var===false || $var==='' || $var===0...)
bref, on ne fais pas attention au typage...
mais bon, personellement, en php, je compte ça car sur un gros site ou un petit pc, ça a une influence, mais en js, tu ne fais pas souvent tourner 20 000 javascripts dans une journée...

Commentaire de thanhhuy27 le 21/04/2006 03:22:14

Avec le nombre 01111111111111111111111111 ---> TRUE

Commentaire de coucou747 le 22/04/2006 13:25:17 administrateur CS

??? quel algo ?

et je ne vois pas comment ça pourrait renvoyer true...

Commentaire de cerede2000 le 06/05/2006 18:45:21

Tien un regex plus simple car la il est a rallonge!!!
/^0[1-68]([.- ][0-9]{2}){4}$/
ceci [.- ] peut etre enlever il permet aussi si on le souhaite de verifier les numeros tel que 02.41.45.45.12 ou encore 02-41-45-45-12 ou 02 41 45 45 12 pour un telephone normal il faudrai mettre /^0[1-68][0-9]{8}$/

Commentaire de coucou747 le 06/05/2006 19:00:40 administrateur CS

/^0[1-68]([.- ]?[0-9]{2}){4}$/

ou bien :

/^0[1-68]((([.- ][0-9]{2}){4})|(([.- ][0-9]{2}){4}))$/

Commentaire de cerede2000 le 06/05/2006 19:05:42

Eu c'est quoi l'interet la??
/^0[1-68]((([.- ][0-9]{2}){4})|(([.- ][0-9]{2}){4}))$/

Commentaire de coucou747 le 06/05/2006 19:09:46 administrateur CS

erreur de ma part....
/^0[1-68](((\.[0-9]{2}){4})|((\-[0-9]{2}){4})|(([0-9]{2}){4}))$/

Commentaire de coucou747 le 06/05/2006 19:09:48 administrateur CS

erreur de ma part....
/^0[1-68](((\.[0-9]{2}){4})|((\-[0-9]{2}){4})|(([0-9]{2}){4}))$/

Commentaire de logiteklab le 13/12/2007 17:42:55

Celle-ci reste plus simple ... et fonctionne :)

var phone = new RegExp(/^0[1-68]([\.|\-|\s]*[0-9]{2}){4}$/);
if(!phone.test(document.mosForm.phone.value)) alert('le téléphone putain!!');

Commentaire de PIM44 le 22/07/2008 14:23:47

Désormais il y aussi des numéros commençant par 09, et, il serait bien de pouvoir autoriser les indicatifs pays (ex. +33).

;)

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

recuperer le fichier ayant le numero le plus haut [ par encoreundebutant ] BonjourJe doit&nbsp;modifier un formulaire infopath et intervenir sur le code en javascript.mon probleme est :J'ai un repertoire "c:\formulaire" dans controle de numero de telephone en javascript [ par kenza1987 ] Bonjour,J'aui encore besoin de vous !!!!!j'ai un petit probleme au niveau du controle de numero de telephone en javascriptJe veux que mon numero comme regex javascript compatibilité [ par camellion2 ] Bonjour à tous, J'ai un souci avec une regex sous javascript qui me permet de verifier que l'utilisateur a bien tapé un entier ou un décimal du type faire un calcul dans un champ du formulaire [ par goldray ] Salut à tous, j'ai un p'tit soucis ... j'ai tois champ au niveau de mon formulaire : 1-Numero Produit(chargé au prés de la abse de données sous forme La Regex qu'elle est la mieux [ par sapakus ] Bonjour, pour mettre en forme un numéro de téléphone du type 0123456789 en 01.23.45.67.89, j'utilise la méthode replace avec un regex :var numero='012 Formulaire : affichage sous question [ par otakon ] Bonjour à toutes et à tous,Je cherche un petit code js me permettant d'afficher une sous question immediatement si une case type radio est cochée ?J'i formulaire [ par youzou ] Bonjour, j'ai un formulaire qui contient plusieurs champs parmis eux matricule employée je veux savoir comment contrôler la valeur du champ matricule Formulaire Ajax [ par bibo06 ] Bonjour, je n'ai jamais fais de script Ajax encore, mais j'ai besoin d'un formulaire interactif un peu spéciale.J'ai fait quelque recherche sur divers Vérification de formulaire [ par Allan007 ] Bonjour à tous,je débute en JS, j'ai récupérer par ci et par la des vérifications de formulaire pour me donner une idée puis j'en ai fait un a ma sauc page d'attente pour post formulaire [ par zeitoun69 ] Bonjourj'ai fait un formulaire qui interroge des fichiers XML avec un jointure sur une base mySQL, ce qui prend un pet de temps pour contruictre la pa


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,530 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales