178 votes

jQuery validation d’expression régulière d’adresse de messagerie

Je ne suis pas trop sûr de savoir comment faire cela. J’ai besoin/envie de valider les adresses e-mail par regex en utilisant quelque chose comme ceci :

Non, j’ai besoin de l’exécuter dans une fonction jQuery comme ceci : où va la validation et de ce qui est l’expression ? -s’il vous plaît

495voto

aSeptik Points 19103

Les MISES à jour


function isValidEmailAddress(emailAddress) {
    var pattern = new RegExp(/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i);
    return pattern.test(emailAddress);
};

if( !isValidEmailAddress( emailaddress ) ) { /* do stuff here */ }

30voto

Bjørn Børresen Points 652

Il s’agit de ma solution :

<strike>Trouvé cette RegExp ici : http://mdskinner.com/code/email-regex-and-validation-jquery</strike>

14voto

webizon Points 21
$(document).ready(function() {

$('#emailid').focusout(function(){

                $('#emailid').filter(function(){
                   var emil=$('#emailid').val();
              var emailReg = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;
            if( !emailReg.test( emil ) ) {
                alert('Please enter valid email');
                } else {
                alert('Thank you for your valid email');
                }
                })
            });
});

7voto

jolly.exe Points 1020

Lolz c’est beaucoup mieux

5voto

Robin Orheden Points 1787

Je vous recommande d'utiliser le plugin jQuery pour Verimail.js.

Pourquoi?

  • IANA validation TLD
  • Validation de la syntaxe (d'après la RFC 822)
  • Suggestion orthographique pour la plupart des Tld et de domaines de messagerie
  • Refuser temporaire compte de messagerie domaines tels que mailinator.com

Comment?

Inclure verimail.jquery.js sur votre site et d'utiliser la fonction de:

$("input#email-address").verimail({
    messageElement: "p#status-message"
});

Si vous disposez d'un formulaire et souhaitez valider l'e-mail sur "soumettre", vous pouvez utiliser le getVerimailStatus-fonction:

if($("input#email-address").getVerimailStatus() < 0){
    // Invalid email
}else{
    // Valid email
}

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