expression régulière en javascript

expression régulière en javascript - HTML/CSS - Programmation

Marsh Posté le 22-11-2009 à 17:40:36    

Bonjour, j'ai un petit problème d'expression régulière en javascript, voila le code:

 
Code :
  1. var veriform=document.getElementsByTagName("input" );
  2. var reg1=new RegExp('[a-z]','ig');
  3. if ( veriform.nom.value=="" )
  4. {
  5.  var nomErreur=document.getElementById("formnom" );
  6.  var nomAfficheErreur=document.createElement("I" );
  7.  nomErreur.appendChild(nomAfficheErreur);
  8.  nomAfficheErreur.className="erreur";
  9.  nomAfficheErreur.appendChild(document.createTextNode(" Vous devez remplir le champs nom !" ));
  10.  retour=false;
  11. }
  12. else if ( !veriform.nom.value.match(reg1) )
  13. {
  14.  var nomErreur=document.getElementById("formnom" );
  15.  var nomAfficheErreur=document.createElement("I" );
  16.  nomErreur.appendChild(nomAfficheErreur);
  17.  nomAfficheErreur.className="erreur";
  18.  nomAfficheErreur.appendChild(document.createTextNode(" Votre nom ne doit contenir que des lettres !" ));
  19.  retour=false;
  20. }


Si le champ est vide, j'ai mon erreur d'affichée, si je met 64545 j'ai mon erreur d'affichée, si je met toto, je n'ai pas d'erreur, mais je met toto32, je n'ai pas d'erreur.
Je crois que mon expression régulière ne vérifie que la présence de lettre, pas le fait qu'il ne doit y avoir que des lettres, et je ne trouve pas comment faire.

 

Si vous avez une idée, je suis preneur.

 

Merci beaucoup.


Message édité par Tangrim le 22-11-2009 à 17:41:25

---------------
Des Bisous et des nounours ! | Internet 2025 | Dungeon-Generator
Reply

Marsh Posté le 22-11-2009 à 17:40:36   

Reply

Marsh Posté le 22-11-2009 à 17:50:03    

pour ta regexp , il faut
que ton champ contienne des lettres, et qu'il n'y ai rien avant ni après
là , tu cherhce juste un caractère dans la chaine

 

donc ^pour dire "commence par "
a-zA-Z pour dire une lettre ( majuscule /minuscule ) . Dans le nom , j'autoriserai aussi les apostrophes, les tirets et les espaces pour tout ce qui est noms composés )
un + pour dire qu'il doit y avoir au moins une lettre
et un $ au bout pour dire qu'il ne doit rien y avoir après

 

http://www.commentcamarche.net/con [...] hpreg.php3


Message édité par flo850 le 22-11-2009 à 17:53:37

---------------

Reply

Marsh Posté le 22-11-2009 à 17:56:39    

Pour le moment je ne vérifie que s'il n'y a exclusivement des lettres.
 
J'ai mis:

Code :
  1. var reg1=new RegExp('[^a-z+$]','ig');


(Le i pour ignorer la casse), mais la quand j'entre "toto" il m'affiche quand même l'erreur :s
Meme sans le "+" (je vérifie déjà que la chaîne ne soit pas vide), ça ne passe pas.


---------------
Des Bisous et des nounours ! | Internet 2025 | Dungeon-Generator
Reply

Marsh Posté le 22-11-2009 à 18:16:17    

tu n'as pas mis le crochet fermant au bon endroit  
il va après le z


---------------

Reply

Marsh Posté le 22-11-2009 à 18:20:34    

flo850 a écrit :

tu n'as pas mis le crochet fermant au bon endroit
il va après le z


Code :
  1. var reg1=new RegExp('[^a-z]+$','ig');


J'ai la même erreur :s

 

edit: il fallait enlever le "!" à la ligne 13 en plus.

 

Merci beaucoup pour ton aide flo850 :)


Message édité par Tangrim le 22-11-2009 à 18:24:02

---------------
Des Bisous et des nounours ! | Internet 2025 | Dungeon-Generator
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed