如何在Javascript中一次验证多封电子邮件?

如何在Javascript中一次验证多封电子邮件?,javascript,extjs4,Javascript,Extjs4,我正在验证一个输入字段中的多封电子邮件,但我的正则表达式无法正常工作。我有一个输入字段,其中的电子邮件由逗号、分号、空格分隔,有时甚至没有空格,如下所示: user1@email.comuser2@gmail.com,user3@email.com;user4@gmail.com user5@email.com 我尝试使用正则表达式获取所有电子邮件,然后验证每个电子邮件,但不确定如何在Javascript中使用正则表达式 我已经用Java编写了我的代码,它可以很好地获取所有电子邮件: Java代

我正在验证一个输入字段中的多封电子邮件,但我的正则表达式无法正常工作。我有一个输入字段,其中的电子邮件由逗号、分号、空格分隔,有时甚至没有空格,如下所示:

user1@email.comuser2@gmail.com,user3@email.com;user4@gmail.com user5@email.com

我尝试使用正则表达式获取所有电子邮件,然后验证每个电子邮件,但不确定如何在Javascript中使用正则表达式

我已经用Java编写了我的代码,它可以很好地获取所有电子邮件:

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());
 }
    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
        }
    } 
String employeeEmails=”user1@email.com , user2@gmail.com user3@email.com;user4@gmail.com";
Matcher eachEmail=Pattern.compile(“\\w+@\\w+.com”).Matcher(员工电子邮件);
List emailList=new ArrayList();
while(eachEmail.find()){
emailList.add(eachEmail.group());
}
最后,emailList包含所有电子邮件

现在我尝试用Javascript获取所有电子邮件,并验证每封邮件,如果其中一封邮件无效,则抛出一个错误。这是我的密码:

Javascript:

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());
 }
    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
        }
    } 
var regex1=/\w+@\w+.com/;/这将从inputField获取所有电子邮件
var emailList=regex1;
变量regex2=/^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;//这将验证每封电子邮件
对于(var i=0;i
需要用Javascript完成这项工作。谁能告诉我我错过了什么吗?提前谢谢你

我希望这对您有所帮助:

employeeEmails = "user1@email.com , user2@gmail.com user3@email.com;user4@gmail.com*john@doe";

function extractEmails(x) { return x.match(/([\w-\.]+)@((?:[\w]+\.)+)([a-zA-Z]{2,4})/g); }

var emails=extractEmails(employeeEmails);

    //  The emails already in an array, now a more exhaustive checking:

function validateEmail(v) { var regex = /^(([^<>()\[\]\\.,;:\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 regex.test(v);
}

emails.forEach(function(email, index)
{   
    //  Here you can handle each employee emails.
    //
    //  Example:
    var verified=validateEmail(email);
    document.write(' validation is '+ verified +' for '+ email +'<br>');    
});
employeeEmails=”user1@email.com , user2@gmail.com user3@email.com;user4@gmail.com*john@doe";
函数(x){返回x.match(/([\w-\.]+)@((?:[\w]+\.)+)([a-zA-Z]{2,4})/g);}
var电子邮件=提取电子邮件(员工电子邮件);
//电子邮件已经在一个数组中,现在是更详尽的检查:
函数validateEmail(v){var regex=/^([^()\[\]\\,;:\s@“+(\.[^()\[\]\,;:\s@+)*)(“+”)@((\[[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[1,3}]].[0-9]+++];
返回正则表达式测试(v);
}
emails.forEach(功能(电子邮件、索引)
{   
//在这里,您可以处理每个员工的电子邮件。
//
//例如:
var验证=验证电子邮件(电子邮件);
文件写入(“+电子邮件+”
““验证为“+已验证+”); });
资料来源:

    • 我希望这能帮助您:

      employeeEmails = "user1@email.com , user2@gmail.com user3@email.com;user4@gmail.com*john@doe";
      
      function extractEmails(x) { return x.match(/([\w-\.]+)@((?:[\w]+\.)+)([a-zA-Z]{2,4})/g); }
      
      var emails=extractEmails(employeeEmails);
      
          //  The emails already in an array, now a more exhaustive checking:
      
      function validateEmail(v) { var regex = /^(([^<>()\[\]\\.,;:\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 regex.test(v);
      }
      
      emails.forEach(function(email, index)
      {   
          //  Here you can handle each employee emails.
          //
          //  Example:
          var verified=validateEmail(email);
          document.write(' validation is '+ verified +' for '+ email +'<br>');    
      });
      
      employeeEmails=”user1@email.com , user2@gmail.com user3@email.com;user4@gmail.com*john@doe";
      函数(x){返回x.match(/([\w-\.]+)@((?:[\w]+\.)+)([a-zA-Z]{2,4})/g);}
      var电子邮件=提取电子邮件(员工电子邮件);
      //电子邮件已经在一个数组中,现在是更详尽的检查:
      函数validateEmail(v){var regex=/^([^()\[\]\\,;:\s@“+(\.[^()\[\]\,;:\s@+)*)(“+”)@((\[[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[1,3}]].[0-9]+++];
      返回正则表达式测试(v);
      }
      emails.forEach(功能(电子邮件、索引)
      {   
      //在这里,您可以处理每个员工的电子邮件。
      //
      //例如:
      var验证=验证电子邮件(电子邮件);
      文件写入(“+电子邮件+”
      ““验证为“+已验证+”); });
      资料来源: