Trägt nicht viel zum Verständnis bei aber ich mache diese Abfrage immer mit diesem Stückchen:
var email=document.getElementById("email").value;
var char=/^([^\s@,:"<>]+)@([^\s@,:"<>]+\.[^\s@,:"<>.\d]{2,}|(\d{1,3}\.){3}\d{1,3})$/;
var part=email.match(char);
if(!part){
//Hier kann zb. ein alert() kommen wenn die Mail nicht gültig ist
}
else {
//Prüfung erfolgreich, weiter im Programm
}