J'essaie de valider l'entrée pour le courrier électronique via JQuery:
Mon JQuery
<script>
/* <![CDATA[ */
jQuery(function(){
$( ".mail" ).keyup(function() {
var VAL = $(this).val();
var email = new RegExp(^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$);
if(VAL.test(email)){
alert('Great, you entered an E-Mail-address');
}
});
});
/* ]]> */
</script>
Cela ne va pas alerter même si j'ai saisi [email protected]. J'ai déjà essayé .test () et .match (), qu'est-ce que j'ai mal fait?
//
regex.test(string)
, pas string.test(regex)
Alors
jQuery(function () {
$(".mail").keyup(function () {
var VAL = this.value;
var email = new RegExp('^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$');
if (email.test(VAL)) {
alert('Great, you entered an E-Mail-address');
}
});
});
Changez-le en ceci:
var email = /^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/i;
Il s'agit d'un littéral d'expression régulière auquel est passé le drapeau i
, qui signifie ne pas être sensible à la casse.
N'oubliez pas que la validation de l'adresse e-mail est difficile (il existe une expression régulière de 4 ou 5 pages à la fin de Mastering Regular Expressions qui le démontre) et votre expression ne capturera certainement pas toutes les adresses e-mail valides.