【发布时间】:2019-11-14 10:36:40
【问题描述】:
我有正则表达式来检查多个以逗号分隔的有效电子邮件,但我无法更新它以允许多个尾随和前导空格。我应该允许以下模式匹配我的正则表达式。
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
在逗号之后只允许一个空格。我希望正则表达式允许逗号前后有多个空格
【问题讨论】:
-
\s?表示“0 或 1 个空白字符”(或“可选空白字符”)。将它们更改为\s*“0 个或更多空白字符”。我建议学习一个快速的正则表达式教程,量词是基础,你可能会在 15-30 分钟内更熟悉正则表达式。 -
完美。像魅力一样工作
-
其他建议的更改:将
@添加到@之前的否定类,.到\.之前的否定类,并添加一个额外的\s*at$锚点之前的结尾(您当前的正则表达式与带有尾随空格的电子邮件列表不匹配)
标签: javascript regex