我有一个我很满意的电子邮件正则表达式,我们称之为EMAIL。 所以我的字段验证器看起来像这样
var regex=/^EMAIL$/
但现在船长告诉我他想在现场允许使用逗号分隔的电子邮件。
首先想到的是像
/^(EMAIL)?(, EMAIL)*$/
但重复EMAIL,这已经冒犯了我的感官。有没有办法在不重复EMAIL的情况下编写此正则表达式?
答案 0 :(得分:3)
用逗号分隔值,然后在每个上使用正则表达式。
答案 1 :(得分:3)
这涵盖了所有提到的例子
^(EMAIL(,\s|$))+$
匹配
EMAIL
EMAIL, EMAIL
但不是
EMAILEMAIL
答案 2 :(得分:2)
我无法想到一种方法来匹配电子邮件列表,因为它是,而不重复EMAIL。这是一个简单的解决方法:
/^(EMAIL, )+$/.test(emailList + ", ");
示例:
var s = "abc, def, ghi, jkl";
/^([a-z]+, )+$/.test(s + ", ");
答案 3 :(得分:1)
Jason似乎最简单,但是对于它的价值,你也可以使用backreferences:^EMAIL, EMAIL$
与^(EMAIL), \1$
相同。