如何使用javascript验证多个电子邮件地址

时间:2015-12-29 11:24:26

标签: javascript html validation email

我正在使用javascript来验证我的页面,我已经完成了对电子邮件的验证,该验证应该遵循电子邮件ID的基本规则。但我需要验证才能允许多个电子邮件地址。任何人都可以帮助添加这个。提前谢谢。

这是JS代码:

function function1(){
	var exp = /^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
	var emailid = document.getElementById('mailid').value;
	if(emailid == '' || emailid == null){
		document.getElementById('error4').innerHTML = "* Enter Email ID";
		document.getElementById('mailid').focus();
		return false;
	}else{
		document.getElementById('error4').innerHTML = "";
	}
	if (!exp.test(emailid)) {
		document.getElementById('error4').innerHTML = "* Invalid Email";
		document.getElementById('mailid').focus();
		return false;
	}
  }

3 个答案:

答案 0 :(得分:3)

你可以这样做:

var emails = emailid.split(",");
emails.forEach(function (email) {
  if(!exp.test(email.trim()) {
    document.getElementById('error4').innerHTML = "* Invalid Email";
    document.getElementById('mailid').focus();
    return false;
  }
});

答案 1 :(得分:0)

您应该将emailid字符串拆分为数组,然后逐个检查电子邮件

var emails = emailid.split(',');

您可以在此处了解有关拆分方法的更多信息http://www.w3schools.com/jsref/jsref_split.asp

答案 2 :(得分:0)

假设地址以逗号分隔,您可以执行以下操作:
(未经测试,但您应该明白这一点)

var theString = "an.address@domain.ext, an.other.address",
    stringProper = theString.replace(/\s/g,''),
    addresses = stringProper.split(','), //creates an array of every email
    allValid = true;

    for (var i = addresses.length - 1; i >= 0; i--) {
        if (addresses[i] == 'an.other.address') {
            isValid = true;
        } else {
            isValid = false;
        }
        if(!isValid) {
            allValid = false;
            break;
        }
    };

function isEmail (theString) {
    var exp = /^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
    return exp.test(theString)
}