Problème avec une RegExp

Résolu
cs_AgLS Messages postés 27 Date d'inscription lundi 7 février 2005 Statut Membre Dernière intervention 22 avril 2008 - 16 nov. 2006 à 22:24
cs_AgLS Messages postés 27 Date d'inscription lundi 7 février 2005 Statut Membre Dernière intervention 22 avril 2008 - 17 nov. 2006 à 00:02
Bonjour,

J'ai un petit problème avec ma première RegExp en JavaScript.

Cette RegExp doit vérifier les critères ci-dessou dans un email:

-Commence par une ou plusieur : lettre(maj ou min), chiffre, _, -

-Ensuite vient le @

-Ensuite vient zero ou plusieur : lettre(maj ou min), chiffre, _, -

-Ensuite vient le point "."

-Ensuite vient minimum 2 lettre(maj ou min)

fin

Pour ce faire j'ai crée cette expression:

RegExp1 = new RegExp("(^([A-Za-z0-9._-])+)@(([A-Za-z0-9._-])*)\.(([A-Za-z0-9])+)(([A-Za-z]){2,})");

Malheureusement elle ne fonctionne pas. Je ne sais pas trop quel
fonction appeller pour vérifier si la syntaxe de mon email est correct,
j'ai essayé avec (ou value est égale a l'email):

R1=RegExp1.test(value);

R2=RegExp1.exec(value);

et aucune de ces 2 méthode ne fonctionne. si quelqu'un pourrait me dépanner ce serait sympa.

Merci d'avance de vos réponses.



<hr />




AgLS

2 réponses

cs_AgLS Messages postés 27 Date d'inscription lundi 7 février 2005 Statut Membre Dernière intervention 22 avril 2008
17 nov. 2006 à 00:02
Nn, il ne fonctionne pas comme il faut, mais j'ai trouvé la solution(après des heures dessus). c'est entre autre du au fait qu'il faut noter \\.
au lieu de\.

Au final ca me donne:
RegExp1 = new RegExp("^[A-Za-z0-9_\\.\\-]{3,}@[A-Za-z0-9][A-Za-z0-9_.-]+(\\.[A-Za-z]{2,4})$");
mais la fonction RegExp1.test(value); me renvoi true même si ca ne correspond pas a un email. Alors je vérifie si RegExp1.exec(value); renvoi autre chose que null.
Mais merci quand même de ta réponse. c'est agréable qu'il y ai des personnes qui répondent ausi vite aux questions. Merci

<hr />AgLS
3
rubiks10 Messages postés 224 Date d'inscription lundi 19 décembre 2005 Statut Membre Dernière intervention 6 juin 2007 3
16 nov. 2006 à 23:40
Salut je te confirme que ton expression réguliere fonctionne parfaitement !!!!

Je ne sais pas pourquoi tu penses le contraire

voici un code permettant de tester ton système :

<html>
 <head>
  <script type="text/javascript">
   function verif(email) {
    var RegExp1 = new RegExp("(^([A-Za-z0-9._-])+)@(([A-Za-z0-9._-])*)\.(([A-Za-z0-9])+)(([A-Za-z]){2,})");
    return RegExp1.test(email);
   }
  </script>
 </head>
 
  <form onsubmit="return false">
   
   
  </form>
 
</html>

Voila @+
-- The Rubik's Man --
0
Rejoignez-nous