Regex qui est pas bon on dirait ^^

Hurluberlu -  
 Hurluberlu -
Bonjour tout le monde,

J'aurai besoin de votre aide pour un regex que j'arrive pas à faire fonctionner :/

Tout fonctionne correctement sauf le champ téléphone (je voudrais juste qu'il vérifie que l'on met que des chiffres dans ce champ)
et il met l'alerte quelque soit ce que je tape :/

Je vous met mon code :
		<script type="text/javascript">  
<!--  
function valider(form)  
{  
var i = 0;  
var msg = "";  
var nom = form.elements['realname'].value;  
var name = form.elements['name'].value;  
var mail = form.elements['email'].value;  
var tel = form.elements['tel'].value;  
if (nom.length<2 && i<1)  
    {msg += "Afin de vous recontacter merci de bien vouloir saisir votre Nom\n";i++;}  
if (name.length<2 && i<1)  
    {msg += "Afin de vous recontacter merci de bien vouloir saisir votre Prénom\n";i++;}  
if (mail.length<4 && i<1)  
    {msg += "Afin de vous recontacter merci de bien vouloir saisir votre adresse Mail\n";i++;}  
if (mail.search(/^[^._-][a-z0-9._-]+[^._-]@[a-z0-9._-]+([a-z0-9]+[^._-])?[.-]+[a-z]{2,4}$/)==-1 && i<1)  
    {msg += "Votre mail ne semble pas valide\n";i++;}  
if (tel.search(/[[:digit:]]/)==-1 && i<1)  
    {msg += "Votre téléphone ne semble pas valide\n";i++;}  
if (i>=1)  
    {alert(msg);return false;}  
return true;  
}  
-->  
</script> 


Merci beaucoup d'avance !
A voir également:

5 réponses

CaporalDead Messages postés 216 Statut Membre 6
 
simplement tu peux faire :
[0-9]* si tu veux que des chiffres zéro ou plusieurs fois
[0-9]+ si tu veux des chiffres au moins une fois
[0-9]{x} si tu veux exactement x chiffres
[0-9]{x,y} si tu veux entre x et y chiffres

Cordialement.
0
Luc
 
<script type="text/javascript">  
<!--  
function valider(form)  
{  
var i = 0;  
var msg = "";  
var nom = form.elements['realname'].value;  
var name = form.elements['name'].value;  
var mail = form.elements['email'].value;  
var tel = form.elements['tel'].value;  
if (nom.length<2 && i<1)  
    {msg += "Afin de vous recontacter merci de bien vouloir saisir votre Nom\n";i++;}  
if (name.length<2 && i<1)  
    {msg += "Afin de vous recontacter merci de bien vouloir saisir votre Prénom\n";i++;}  
if (mail.length<4 && i<1)  
    {msg += "Afin de vous recontacter merci de bien vouloir saisir votre adresse Mail\n";i++;}  
if (mail.search(/^[^._-][a-z0-9._-]+[^._-]@[a-z0-9._-]+([a-z0-9]+[^._-])?[.-]+[a-z]{2,4}$/)==-1 && i<1)  
    {msg += "Votre mail ne semble pas valide\n";i++;}  
if (tel.search([0-9]*)==-1 && i<1)  
    {msg += "Votre téléphone ne semble pas valide\n";i++;}  
if (i>=1)  
    {alert(msg);return false;}  
return true;  
}  
-->  
</script> 


j'ai mis ca souhaitant que au moins un chiffre soit mis mais ca n,e marche toujours pas :/
0
Luc
 
maintenant meme si je met que des lettres il valide quand même
0
CaporalDead Messages postés 216 Statut Membre 6
 
Tiens pour t'aider lors de tes futures recherches sur les Regex :

http://www.gethifi.com/tools/regex

Tu peux faire taChaine.test(regex) pour vérifier ton champ ;)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Hurluberlu
 
Désolé je ne vois pas pourquoi ca ne marche pas :/
0