JS-将单个电子邮件验证模式转换为多个电子邮件验证模式。

gui*_*eak 0 javascript regex

我正在努力创建一个Regex模式来验证多封电子邮件。我知道这个话题已经被广泛讨论,但是,在对它们进行研究之后,我找不到我的具体问题的答案。我的问题如下。

我正在处理的项目是用PHP编写的,并且使用FILTER_VALIDATE_EMAIL。我的目的是编写一种前端电子邮件验证程序,以与FILTER_VALIDATE_EMAIL一致的方式用于单个和多个电子邮件。在这里https://github.com/mpyw/FILTER_VALIDATE_EMAIL.js 我找到了符合最新RFC标准规定的理想Regex模式,即:

^(?!(?:(?:\x22?\x5C[\x00-\x7E]\x22?)|(?:\x22?[^\x5C\x22]\x22?)){255,})(?!(?:(?:\x22?\x5C[\x00-\x7E]\x22?)|(?:\x22?[^\x5C\x22]\x22?)){65,}@)(?:(?:[\x21\x23-\x27\x2A\x2B\x2D\x2F-\x39\x3D\x3F\x5E-\x7E]+)|(?:\x22(?:[\x01-\x08\x0B\x0C\x0E-\x1F\x21\x23-\x5B\x5D-\x7F]|(?:\x5C[\x00-\x7F]))*\x22))(?:\.(?:(?:[\x21\x23-\x27\x2A\x2B\x2D\x2F-\x39\x3D\x3F\x5E-\x7E]+)|(?:\x22(?:[\x01-\x08\x0B\x0C\x0E-\x1F\x21\x23-\x5B\x5D-\x7F]|(?:\x5C[\x00-\x7F]))*\x22)))*@(?:(?:(?!.*[^.]{64,})(?:(?:(?:xn--)?[a-z0-9]+(?:-+[a-z0-9]+)*\.){1,126})+(?:(?:[a-z][a-z0-9]*)|(?:(?:xn--)[a-z0-9]+))(?:-+[a-z0-9]+)*)|(?:\[(?:(?:IPv6:(?:(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){7})|(?:(?!(?:.*[a-f0-9][:\]]){7,})(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){0,5})?::(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){0,5})?)))|(?:(?:IPv6:(?:(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){5}:)|(?:(?!(?:.*[a-f0-9]:){5,})(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){0,3})?::(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){0,3}:)?)))?(?:(?:25[0-5])|(?:2[0-4][0-9])|(?:1[0-9]{2})|(?:[1-9]?[0-9]))(?:\.(?:(?:25[0-5])|(?:2[0-4][0-9])|(?:1[0-9]{2})|(?:[1-9]?[0-9]))){3}))]))$
Run Code Online (Sandbox Code Playgroud)

现在,我一直在尝试为多封电子邮件使用这种特殊的模式功能。我的问题来了,我该怎么办?我试图设定

[\s*,]*
Run Code Online (Sandbox Code Playgroud)

为了使多个地址通过,到目前为止,我头疼不已,因此非常感谢您的帮助,在此先感谢您!

Avi*_*Avi 5

尝试这个..

var pattern = /^\b[A-Z0-9._%-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\b$/i

if(!pattern.test(inputYour))
{
  console.log('not a valid e-mail address');
}?
Run Code Online (Sandbox Code Playgroud)

用于多个电子邮件..

var x = getEmails();
var emails = x.split(",");
emails.forEach(function (email) {
 validate(email.trim());
});
Run Code Online (Sandbox Code Playgroud)

验证功能应该具有您上面的代码...

这是一口价签...

var email = 'test@example.com, hello@example.com,mail@example.com';
alert ( (/^(([^<>()\[\]\.,;:\s@\"]+(\.[^<>()\[\]\.,;:\s@\"]+)*)|(\".+\"))@(([^<>()[\]\.,;:\s@\"]+\.)+[^<>()[\]\.,;:\s@\"]{2,})$/i.test(email)) );
Run Code Online (Sandbox Code Playgroud)

链接https://www.experts-exchange.com/questions/28940315/JavaScript-REGEX-validate-multiple-emails-addresses-separated-my-commas.html