我正在尝试让这个正则表达式语句工作。
^([_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})+(\s?[,]\s?|$))+$
针对一个逗号分隔的电子邮件字符串在textbox
中使用jQuery('#textbox').val();
,该值传递到正则表达式语句中查找像这样的字符串的错误:
"test@test.com, test1@test.com,test2@test.com"
但由于某种原因它返回了一个错误。我尝试通过http://regexpal.com/运行它,但我不确定?
NB: 这只是一个基本的客户端测试。我通过.NET4.0在服务器端使用MailClass
验证电子邮件 - 所以不要因此责备我。这里的目的是消除简单的错误。
转义版本:
^([_a-z0-9-]+(\\.[_a-z0-9-]+)*@[a-z0-9-]+(\\.[a-z0-9-]+)*(\\.[a-z]{2,3})+(\\s?[,]\\s?|$))+$
split(',')
将字符串拆分,然后对每个电子邮件运行一个更简单的正则表达式呢? - Pablo Fernandez[a-z0-9-]+(\.[a-z0-9-]+)*
,我认为它看起来没问题,但一个更简单的表示相同意思的方法是[\w-][\w.-]*
-- 正则表达式越简单,越容易识别问题。(我还假设你将其用作不区分大小写吗?) - Greg Jackson