用分号正则表达式分隔的多个电子邮件

时间:2018-10-09 06:26:20

标签: javascript java c# regex web

嗨,我有一个要求,我必须验证用分号分隔的电子邮件地址。例如“ test@test.com; test@Tes.com”之类的东西。我正在使用以下正则表达式:

(([^@]+@[^\s@]+\.[^\s@;]{2,}\;{0,1}\s*))+

这里的问题是即使它们之间没有分号但带有空格,例如"test@test.com Test@tes.com",正则表达式仍然有效。但这是不正确的。所以有人可以告诉我如何实现这一点吗?电子邮件ID,中间不需要分号

2 个答案:

答案 0 :(得分:0)

找到了一个有效的正则表达式。经过测试,直到3封电子邮件。

  

([[^ @] + @ [^ \ s @] +。[^ \ s @;] {2,})+(\;([^ @] + @ [^ \ s @] +。[ ^ \ s @;] {2,}){1,1})*

测试样品:

  1. test@test.com; sample@google.com; dsdsd@dsd.sd->正确
  2. test@test.com; sample@google.com dsdsd@dsd.sd->否
  3. test@test.com->是
  4. test@test.com; ->错误

这里的关键是遵循\ w +(。\ w +)+模式。  希望这会有所帮助

答案 1 :(得分:0)

尝试正则表达式(?!.*;$)^([-\w]+?@\w+\.\w+(?:\s*;\s*)?)+$

这将匹配任何编号。以分号分隔的电子邮件数量。负面的前瞻 (?!.*;$)最终将不匹配带有分号的电子邮件。

Regex