5个逗号分隔的电子邮件ID

时间:2017-05-25 08:23:01

标签: javascript regex asp.net-mvc validation data-annotations

我尝试在一个正则表达式中验证5个逗号分隔的电子邮件ID。 我正在使用下面的正则表达式

^([\w+-.%]+@[\w-.]+\.[A-Za-z]{2,4},?)+$

这适用于一个电子邮件ID。

我想知道如何实现同样的目标,同样的任何小输入也非常感激。

提前致谢。

2 个答案:

答案 0 :(得分:0)

首先,修复模式:-在字符类中的两个字符之间形成一个范围。因此,正则表达式的电子邮件部分应为[-\w+.%]+@[\w-.]+\.[A-Za-z]{2,4}(请注意第一个字符类中-的位置,在第二个字符类中,可以将它放在速记字符类{{1}之间和下一个字符。)

接下来,要匹配1到5个以逗号分隔的电子邮件,您需要匹配第一个,然后匹配0到4封电子邮件。并在模式周围添加锚点以确保模式匹配整个字符串:

\w

基本上,^[-\w+.%]+@[\w-.]+\.[A-Za-z]{2,4}(?:,[-\w+.%]+@[\w-.]+\.[A-Za-z]{2,4}){0,4}$

  • ^<EMAIL>(?:,<EMAIL>){0,4}$ - 字符串开头
  • ^ - 您的电子邮件模式
  • <EMAIL> - 启动非捕获组,充当一系列模式的容器:
    • (?: - 逗号
    • , - 您的电子邮件模式
  • <EMAIL> - 上面这些序列出现0到4次
  • ){0,4} - 字符串结束。

另一个想法是与$分开,然后验证:

,

答案 1 :(得分:-1)

对于javaScript的regex,您可以使用多个逗号分隔的电子邮件ID,希望这项工作适合您

/^(\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]{2,4}\s*?,?\s*?)+$/