cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 2013
-
31 mars 2006 à 09:54
cs_PIM44
Messages postés3Date d'inscriptiondimanche 27 avril 2003StatutMembreDernière intervention16 juin 2009
-
22 juil. 2008 à 14:23
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
cerede2000
Messages postés71Date d'inscriptionvendredi 12 janvier 2007StatutMembreDernière intervention 6 septembre 2013 6 mai 2006 à 18:45
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}$/
coucou747
Messages postés12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 201244 22 avril 2006 à 13:25
??? quel algo ?
et je ne vois pas comment ça pourrait renvoyer true...
thanhhuy27
Messages postés2Date d'inscriptiondimanche 31 juillet 2005StatutMembreDernière intervention21 avril 2006 21 avril 2006 à 03:22
Avec le nombre 01111111111111111111111111 ---> TRUE
coucou747
Messages postés12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 201244 1 avril 2006 à 12:27
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...
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 1 avril 2006 à 05:34
>>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 ).
webdeb
Messages postés488Date d'inscriptionsamedi 5 avril 2003StatutMembreDernière intervention31 mars 20094 31 mars 2006 à 19:19
Oui c'est vrai ! merci pour la contribution ;)
coucou747
Messages postés12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 201244 31 mars 2006 à 18:28
<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>
</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}
webdeb
Messages postés488Date d'inscriptionsamedi 5 avril 2003StatutMembreDernière intervention31 mars 20094 31 mars 2006 à 16:59
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.
++
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 31 mars 2006 à 15:10
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 @+
webdeb
Messages postés488Date d'inscriptionsamedi 5 avril 2003StatutMembreDernière intervention31 mars 20094 31 mars 2006 à 13:11
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.
econs
Messages postés4030Date d'inscriptionmardi 13 mai 2003StatutMembreDernière intervention23 décembre 200824 31 mars 2006 à 12:27
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)
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 31 mars 2006 à 10:26
je parlais de ton script en disant qu'il ne fonctionne pas.
je te proposais une correction et une simplification.
webdeb
Messages postés488Date d'inscriptionsamedi 5 avril 2003StatutMembreDernière intervention31 mars 20094 31 mars 2006 à 10:16
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 :
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 31 mars 2006 à 09:54
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)) ;
}
22 juil. 2008 à 14:23
;)
13 déc. 2007 à 17:42
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!!');
6 mai 2006 à 19:09
/^0[1-68](((\.[0-9]{2}){4})|((\-[0-9]{2}){4})|(([0-9]{2}){4}))$/
6 mai 2006 à 19:09
/^0[1-68](((\.[0-9]{2}){4})|((\-[0-9]{2}){4})|(([0-9]{2}){4}))$/
6 mai 2006 à 19:05
/^0[1-68]((([.- ][0-9]{2}){4})|(([.- ][0-9]{2}){4}))$/
6 mai 2006 à 19:00
ou bien :
/^0[1-68]((([.- ][0-9]{2}){4})|(([.- ][0-9]{2}){4}))$/
6 mai 2006 à 18:45
/^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}$/
22 avril 2006 à 13:25
et je ne vois pas comment ça pourrait renvoyer true...
21 avril 2006 à 03:22
1 avril 2006 à 12:27
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...
1 avril 2006 à 05:34
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 ).
31 mars 2006 à 19:19
31 mars 2006 à 18:28
<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>
</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}
31 mars 2006 à 16:59
++
31 mars 2006 à 15:10
il ne reste qu'à supprimer les tests inutiles et retourner
directement ce que renvoie regext.test @+
31 mars 2006 à 13:11
31 mars 2006 à 12:27
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)
31 mars 2006 à 10:26
je te proposais une correction et une simplification.
31 mars 2006 à 10:16
if(Verifier_Numero_Telephone(0123456789))
{
alert('OK');
}
else
{
alert('Pas OK');
}
++
31 mars 2006 à 09:54
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...