Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
732 connectés 

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  Exp reg en javascript

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Exp reg en javascript

n°919383
rufo
Pas me confondre avec Lycos!
Posté le 10-12-2004 à 09:44:25  profilanswer
 

Bonjour,
 
J'ai codé une fct Javascript pour vérifier qu'une adresse e-mail saisie par l'utilisateur était valide. Mais bizarrement, sous IE 5.0, ça marche pas alors que sous IE 6, j'ai aps de pb a priori...
 
le but de l'exp reg est de dire qu'une adresse du style :  
l-adresse.est@bonne-valide.com
les.adresses_email@sont_bonnes.fr
les3adresses@sontbonnes.net
...
Vous voyez le genre?
 
Moi, j'ai fait ça :

Code :
  1. function isValideEmailAddress(Email)
  2. {
  3.     RegExpression = new RegExp(/^[a-z0-9\.\-_]{1,}@[a-z0-9\.\-_]{1,}\.[a-z]{2,4}$/);
  4.     return RegExpression.test(Email);
  5. }


mood
Publicité
Posté le 10-12-2004 à 09:44:25  profilanswer
 

n°919721
Bidem
Posté le 10-12-2004 à 15:09:33  profilanswer
 

Les quelques exemples d'utilisation d'expression régulière que j'ai trouvés sur le net donnent une syntaxe un peu différente :
 

Code :
  1. function isValideEmailAddress(Email)
  2. {
  3.   RegExpression = /^[a-z0-9\.\-_]{1,}@[a-z0-9\.\-_]{1,}\.[a-z]{2,4}$/;
  4.   return RegExpression.test(Email);
  5. }

n°919729
rufo
Pas me confondre avec Lycos!
Posté le 10-12-2004 à 15:20:09  profilanswer
 

la, je vois que le new RegExp a sauté. C'est pas cra-cra comme méthode ça? :/ Sinon, mon expresion régulière est bonne pour reconnaître les adresses e-mails proposées dans mon premier post?

n°919780
Bidem
Posté le 10-12-2004 à 16:12:04  profilanswer
 

Ton expression est trop laxiste car les adresses suivantes sont bonnes :
 
.toto@.bozo.com
-toto@-bozo.com
333@333.33
 
Il y a plein d'exemples sur le net (apparemment la validation d'adresse mail est un classique dans les tutoriaux sur les expression régulières)
 
EDIT : Qiuand tu dis que ça ne marche pas sous IE 5.0, qu'est ce que ça fait ? Il y a des erreurs javascript ou des résultats incohérents ?


Message édité par Bidem le 10-12-2004 à 16:13:52
n°919817
rufo
Pas me confondre avec Lycos!
Posté le 10-12-2004 à 16:36:12  profilanswer
 

bidem a écrit :

Ton expression est trop laxiste car les adresses suivantes sont bonnes :
 
.toto@.bozo.com
-toto@-bozo.com
333@333.33
 
Il y a plein d'exemples sur le net (apparemment la validation d'adresse mail est un classique dans les tutoriaux sur les expression régulières)
 
EDIT : Qiuand tu dis que ça ne marche pas sous IE 5.0, qu'est ce que ça fait ? Il y a des erreurs javascript ou des résultats incohérents ?


 
Quand j'ai codé cette fonction, j'avais déjà effectué une recherche sur le web (commentcamarche.net entre autre) mais les exemples trouvés étaient pour le coup trop limitatives (certaines de mes adresses ne passaient pas).
 
Quand je dis que sur IE 5 ça marche pas, c'est que ma fonction me retourne toujours FALSE même pour une adresse toto@titi.fr :(

n°919868
Bidem
Posté le 10-12-2004 à 17:46:56  profilanswer
 

Après une recherche sur google de "RegExp IE 5.0" j'ai trouvé plein de références avec le même problème.
 
Il en ressort qu'avec IE 5 si tu veux faire "new RegExp(expression)", expression doit être du type String donc pour déclarer ton RegExp tu dois faire comme ça :

Code :
  1. RegExpression = new RegExp("/^[a-z0-9\.\-_]{1,}@[a-z0-9\.\-_]{1,}\.[a-z]{2,4}$/" );


 
ou comme ça :

Code :
  1. RegExpression = /^[a-z0-9\.\-_]{1,}@[a-z0-9\.\-_]{1,}\.[a-z]{2,4}$/;


 

n°920224
rufo
Pas me confondre avec Lycos!
Posté le 11-12-2004 à 09:34:33  profilanswer
 

je vais pas pouvoir tester de suite, mais je le ferai lundi. Merci pour ta recherche en tout cas :jap:

n°922140
rufo
Pas me confondre avec Lycos!
Posté le 13-12-2004 à 18:11:14  profilanswer
 

bidem a écrit :

Après une recherche sur google de "RegExp IE 5.0" j'ai trouvé plein de références avec le même problème.
 
Il en ressort qu'avec IE 5 si tu veux faire "new RegExp(expression)", expression doit être du type String donc pour déclarer ton RegExp tu dois faire comme ça :

Code :
  1. RegExpression = new RegExp("/^[a-z0-9\.\-_]{1,}@[a-z0-9\.\-_]{1,}\.[a-z]{2,4}$/" );


 
ou comme ça :

Code :
  1. RegExpression = /^[a-z0-9\.\-_]{1,}@[a-z0-9\.\-_]{1,}\.[a-z]{2,4}$/;




 
La première solution ne semble pas marcher mais la second oui :) Merci pour tout.

n°922479
Bidem
Posté le 14-12-2004 à 08:56:23  profilanswer
 

oups j'avais oublié d'enlever les '/' de début et de fin...

n°922884
rufo
Pas me confondre avec Lycos!
Posté le 14-12-2004 à 15:25:07  profilanswer
 

bidem a écrit :

oups j'avais oublié d'enlever les '/' de début et de fin...


 
ah? Bon, ben je referai un test...


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  HTML/CSS

  Exp reg en javascript

 

Sujets relatifs
Pbm de droits lors de l'acces d'une applet signée via le javascriptJavascript > j'ai une petite question sur un champ text
adition en javascriptvariable de session en javascript
Comment recuperer une variable javascript dans php(Javascript) fenetre en trop
Ajout de javascript automatique sur les fichier php...code en javascript et compatibilité
javascript et chaine carctères[JAVASCRIPT] Problème de décimal
Plus de sujets relatifs à : Exp reg en javascript


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR