Bonsoir !
Pour valider une adresse mail, on a traditionnellement recours à une expression régulière (en anglais regular expression, abrégé regexp). Sans vouloir te faire peur, je dois te prévenir : une regexp, ça mord, surtout les débutants ! Mais c'est un truc à connaître, on peut faire des choses hyper puissantes avec.
Pour l'heure, puisque tu es pressé par le temps, tu peux en copier une sans chercher à la comprendre. Je te propose celle-ci, pas forcément la plus simple, mais elle vient directement du site regular-expressions.info que je considère comme une excellente source.
\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\b
Pour déclarer ta fonction, rien de plus enfantin, tu peux la mettre avant ou après ta fonction box :
1 2 3 4
| function isValid( mail ) {
var rx = /\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\b/i;
return rx.test(mail);
}; |
Explication : je déclare la regexp entre deux slash (/), c'est comme ça qu'on fait en JS. Et je rajoute l'option i qui la rend insensible à la casse, autrement dit elle acceptera aussi bien les minuscules et les majuscules. Ensuite, j'utilise la méthode .test() des regexps, qui renvoie true si la chaîne est valide, ou false sinon.
Note que je n'étais pas obligé de passer par une variable intermédiaire rx, c'est juste pour plus de clarté
Partager