Попробуйте этот подход.
Он разбивает список адресов электронной почты на отдельные адреса и проходит по всем из них.Кроме того, он использует значительно упрощенное регулярное выражение для проверки подлинности электронной почты.
Кроме того, проверка правильности одного сообщения в списке должна быть более надежной, это только пример.
var email = document.getElementById("email").value;
console.log("Are emails valid: " + checkEmailValidity(email));
function checkEmailValidity(emailList) {
var reg = /^.+?@.+?\.\w{2,}$/i;
var emailArr;
if (emailList.indexOf(";") < emailList.indexOf("@")) {
//assume only one email address on the list
emailArr = [emailList];
} else {
emailArr = emailList.split(";")
}
var isValid = true;
emailArr.forEach(function(addr) {
if (reg.test(addr) === false) {
console.log("One of the emails is not valid: " + addr);
isValid = false;
}
})
return isValid;
}