100 votes

JavaScript Expression Régulière E-Mail De Validation

Pour l'amour de Dieu, je ne suis pas d'obtenir ce code facile à travailler! Il est toujours alerte de "nulle", ce qui signifie que la chaîne ne correspond pas à l'expression.

var pattern = "^\w+@[a-zA-Z_]+?\.[a-zA-Z]{2,3}$"; 

function isEmailAddress(str) {

    str = "azamsharp@gmail.com";      

    alert(str.match(pattern)); 
    return str.match(pattern);    

}

78voto

James Points 56229

Si vous définissez votre expression régulière comme une chaîne de caractères, puis toutes les barres obliques inverses doivent être échappés, donc au lieu de '\w' vous devriez avoir "\\w'.

Sinon, la définir comme une expression régulière:

var pattern = /^\w+@[a-zA-Z_]+?\.[a-zA-Z]{2,3}$/;


BTW, merci de ne pas valider les adresses de courriel sur le côté client. Votre expression régulière est trop simple de passer pour une mise en œuvre solide de toute façon.

Voir la vraie chose ici: http://www.ex-parrot.com/~pdw/Mail-RFC822-Address.html

29voto

rat Points 149

c'est celle que j'utilise sur ma page.

http://www.zparacha.com/validate-email-address-using-javascript-regular-expression/

/^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,6}$/

14voto

rcastera Points 151

J'ai été en utilisant cette fonction pendant un certain temps. elle renvoie une valeur booléenne.

// Validates email address of course.
function validEmail(e) {
    var filter = /^\s*[\w\-\+_]+(\.[\w\-\+_]+)*\@[\w\-\+_]+\.[\w\-\+_]+(\.[\w\-\+_]+)*\s*$/;
    return String(e).search (filter) != -1;
}

11voto

Brian Agnew Points 143181

Vous pouvez être intéressé à cette question (ou cette un), qui met en évidence le fait que l'identification des adresses email valides via des expressions régulières est un problème très difficile à résoudre (si possible)

8voto

Nanhe Kumar Points 2207
function isEmailAddress(str) {
   var pattern =/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/;
   return pattern.test(str);  // returns a boolean 
}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X