Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 用于多封电子邮件的正则表达式,用逗号分隔,并带有有效电子邮件_Javascript_Regex - Fatal编程技术网

Javascript 用于多封电子邮件的正则表达式,用逗号分隔,并带有有效电子邮件

Javascript 用于多封电子邮件的正则表达式,用逗号分隔,并带有有效电子邮件,javascript,regex,Javascript,Regex,我有正则表达式来检查多个由逗号分隔的有效电子邮件,但我无法更新它以允许多个尾随和前导空格。我应该允许下面的模式匹配我的正则表达式 abc@test.com,bcd@test.com, new@test.com, hello@test.com ,new@test.com // allow abc@test.com bcd@test.comnew@test.com// don't allow 我现在知道的正则表达式 ^(\s?[^\s,]+@[^\s,]+\.[^\s,]+\s?,)*(\

我有正则表达式来检查多个由逗号分隔的有效电子邮件,但我无法更新它以允许多个尾随和前导空格。我应该允许下面的模式匹配我的正则表达式

abc@test.com,bcd@test.com, new@test.com,   hello@test.com   ,new@test.com // allow
abc@test.com bcd@test.comnew@test.com// don't allow
我现在知道的正则表达式

^(\s?[^\s,]+@[^\s,]+\.[^\s,]+\s?,)*(\s?[^\s,]+@[^\s,]+\.[^\s,]+)$
上面的正则表达式不允许这种模式

abc@test.com,bcd@test.com, new@test.com,   hello@test.com   ,new@test.com

它只允许逗号后面的一个空格前加一个空格。我希望正则表达式在逗号前后允许多个空格,为什么不先吐出字符串:

function getValidEmailAddresses(strInput)
{
return strInput.split(',').map(p => p.trim())
               .filter(c=> c.test(/^(([^<>()\[\]\\.,;:\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,}))$/));

}
函数getValidEmailAddresses(strInput)
{
返回strInput.split(',').map(p=>p.trim())
.filter(c=>c.test(/^([^()\[\]\\,;:\s@“]+(\.[^()\[\]\,;:\s@”]+)*(“+”)(\[[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]++[1,3}.]);([a-zA 0-Z-0-9]+[a-Z])/;
}

\s?
表示“0或1个空白字符”(或“可选空白字符”)。将它们更改为
\s*
“0个或更多空白字符”。我建议学习一个快速的正则表达式教程,量词是最基本的,在15-30分钟的时间里,你可能会更加熟悉正则表达式。太好了。类似于charmOther建议的更改:将
@
添加到
@
之前的否定类中,
添加到
\.
之前的否定类中,并在
$
锚定之前的末尾添加一个额外的
\s*
(您当前的正则表达式与带有尾随空格的电子邮件列表不匹配)