javascript - 使电子邮件正则表达式以逗号分隔

标签 javascript c# asp.net regex razor

我有以下正则表达式来验证单个电子邮件地址。如何使此正则表达式接受逗号分隔的电子邮件地址列表?

^(([A-Za-z0-9]+_+)|([A-Za-z0-9]+\-+)|([A-Za-z0-9]+\.+)|([A-Za-z0-9]+\++))*[A-Za-z0-9]+@((\w+\-+)|(\w+\.))*\w{1,63}\.[a-zA-Z]{2,6}$

我使用 Razor View 将正则表达式放置在输入标记内:

<input data-val="true" data-val-length="Email field exceeds maximum length of 50" data-val-length-max="50" data-val-regex="Email-Address is invalid" data-val-regex-pattern="^(([A-Za-z0-9]+_+)|([A-Za-z0-9]+\-+)|([A-Za-z0-9]+\.+)|([A-Za-z0-9]+\++))*[A-Za-z0-9]+@((\w+\-+)|(\w+\.))*\w{1,63}\.[a-zA-Z]{2,6}$" id="Email" name="Email" type="text" value="">

最佳答案

如果您只有内部可选的逗号分隔列表,通常会这样做
(?:我的正则表达式)(?:,我的正则表达式)*

 #  ^(?:[A-Za-z0-9]+[_.+-]+)*[A-Za-z0-9]+@(?:\w+[.-]+)*\w{1,63}\.[a-zA-Z]{2,6}(?:,(?:[A-Za-z0-9]+[_.+-]+)*[A-Za-z0-9]+@(?:\w+[.-]+)*\w{1,63}\.[a-zA-Z]{2,6})*$

 ^ 
 (?: [A-Za-z0-9]+ [_.+-]+ )*
 [A-Za-z0-9]+ 
 @
 (?: \w+ [.-]+ )*
 \w{1,63} \. [a-zA-Z]{2,6} 
 (?:
      ,
      (?: [A-Za-z0-9]+ [_.+-]+ )*
      [A-Za-z0-9]+ 
      @
      (?: \w+ [.-]+ )*
      \w{1,63} \. [a-zA-Z]{2,6} 
 )*
 $

关于javascript - 使电子邮件正则表达式以逗号分隔,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27405139/

相关文章:

javascript - 未捕获错误 : INDEX_SIZE_ERR: DOM Exception 1, getImageData

javascript - 如何在 webdriverio 中使用 socks 认证

c# - 是否存在 Dot.Net 4.5 异步计时器

asp.net - 为 ASP.NET 电子商务项目选择云

javascript - 动态呈现的 SVG 未显示

c# - 在后台线程中返回 IEnumerable

c# - 如何从数据库中填充组合框项而不是在各处复制相同的代码(如何更改我的代码以使用 OOP)?

c# - 回调后重新加载插件

c# - 建议使用什么来监控我的 asp.net 应用程序的流量

php - 保护 PHP 文件