我正在验证一个输入字段中的多封电子邮件,但我的正则表达式无法正常工作。我有一个输入字段,其中电子邮件由
逗号、分号、空格,有时没有空格
,如下所示:
user1@email.comuser2@gmail。通用域名格式,user3@email.com;user4@gmail.com user5@email.com
我尝试使用正则表达式获取所有电子邮件,然后验证每个电子邮件,但不确定如何在Javascript中使用正则表达式。
我用Java编写了我的代码,它可以很好地获取所有电子邮件:
String employeeEmails = "user1@email.com , user2@gmail.com user3@email.com;user4@gmail.com";
Matcher eachEmail = Pattern.compile("\\w+@\\w+.com").matcher(employeeEmails);
List<String> emailList = new ArrayList<String>();
while (eachEmail.find()){
emailList.add(eachEmail.group());
}
现在,我尝试用Javascript获取所有电子邮件,并验证每个电子邮件,如果其中一个不是有效的电子邮件,则抛出一个错误。这是我的代码:
Javascript:
var regex1 = /\w+@\w+.com/; // This will get all emails from inputField
var emailList = regex1;
var regex2 = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/; // This will validate each email
for(var i = 0;i < emailList.length;i++) {
if(!regex2.test(emailList[i])) {
return me.invalidText; // throw error if an email is not valid
}
}
需要在Javascript中实现这一点。谁能告诉我我错过了什么吗?提前谢谢!