我有这个RegEx用于CC和BCC电子邮件字段
reg = /(^\s*$|^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.(?:[a-zA-Z]{2}|com|org|net|edu|gov|mil|biz|info|mobi|name|aero|asia|jobs|museum)$)/;
这允许电子邮件字段为空,或者具有有效的电子邮件地址,否则会出错。
我想扩展RegEx以允许多个电子邮件,例如a@a.com,b@b.com,c@c.com
我尝试添加[,;]
以允许逗号或分号分隔值,但我似乎无法让它工作。
任何人都知道我是否在[,;]
的正确位置和我应该放置的位置?
更新:我已将RegEx更新为,因此它不会查找gTLD:
reg = /(^\s*$|^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+.[A-Za-z]{2,4} [;])+ $ /;
感谢
答案 0 :(得分:1)
如果Alex K。关于ASP.NET验证的评论没有帮助,那么我会为您提供创可贴。我不会认为这是一个正确的答案,因为在没有向我们提供可能发生的所有前后电子邮件特殊字符的情况下,确实无法获得您正在寻找的功能。你可以使用这样的东西,使用非捕获组来帮助找到匹配。它并非100%准确,但它适用于大多数情况。它的一个问题是你很容易捕获垃圾/不想要的结果 如果 它会遇到流浪的 @ 符号。< / p>
regex由RegexBuddy 4.2.0测试:
(?m)(?:^|\s|\n|\t|\r|,|;|
)[^\n]*?@[^\n]*?\.[^\n]*?(?:$|;|\s|,)
使用的测试字符串:
9som$emaIL@cm3Gks.qa1vv; 9som$emaIL@cm3Gks.qa1vv, 9som$emaIL@cm3Gks.qa1vv; 9som$emaIL@cms.com ;
dd.dd.ddwe.wscef_sed@_e23&&*^.dvcw