如何匹配逗号分隔的电子邮件列表与正则表达式?
尝试使用asp:RegularExpressionValidator
validation文本框中以逗号分隔的电子邮件列表 ,请参阅以下内容:
当我在http://regexhero.net/tester/上测试时,它工作正常,但它在我的页面上不起作用。
这是我的示例输入:
test@test.com,test1@test.com
我在这篇文章中尝试了一个建议,但无法让它发挥作用。
ps我不想讨论正确的电子邮件validation
试试这个:
^([\w+-.%]+@[\w-.]+\.[A-Za-z]{2,4},?)+$
在括号后添加+
表示前面的组可以存在1次或更多次。
添加^
和$
意味着字符串的开头和匹配的开始(或匹配的结束和字符串的结尾)之间的任何内容都会导致validation失败。
此正则表达式将允许逗号后面带空格的电子邮件。
^[\W]*([\w+\-.%]+@[\w\-.]+\.[A-Za-z]{2,4}[\W]*,{1}[\W]*)*([\w+\-.%]+@[\w\-.]+\.[A-Za-z]{2,4})[\W]*$
玩弄这个,一位同事想出了这个更准确的RegEx。 上面的答案似乎通过电子邮件地址列表,其中第一个元素不是电子邮件地址。 这是更新,它还允许逗号后面的空格。
^([a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+,*[\W]*)+$
这也有效。 这对电子邮件来说有点严格,并不是说输入的电子邮件地址不止一个或者逗号都存在。
选择最佳的第一个答案匹配abc@xyz.comxyz@abc.com
这样无效的字符串。
以下正则表达式将用于逗号分隔的电子邮件ID非常棒。
^([\w+-.%]+@[\w.-]+\.[A-Za-z]{2,4})(,[\w+-.%]+@[\w.-]+\.[A-Za-z]{2,4})*$
它将匹配单个emailId,逗号分隔的emailId,但如果错过了逗号则不匹配。
第一组将匹配单个emailId的字符串。 第二组可选地需要’*’令牌,即0或更多这样的组但是’,’需要在这样的emailId的开头,这使得逗号分隔的emailId与上述正则表达式匹配。
下面的正则表达式限制性较小,更适合validation手动输入的逗号分隔电子邮件地址列表。 它允许相邻的逗号。
^([\w+-.%]+@[\w-.]+\.[A-Za-z]{2,4},*[\W]*)+$
使用以下正则表达式,它将解决您的问题。 以下正则表达式也将使用逗号来接收post和pre空格
/^((([a-zA-Z0-9_-.]+)@([a-zA-Z0-9_-.]+).([a-zA-Z\s?]{2,5}){1,25})(\s?,\s*?))$/
我知道,我有点迟到了,但我想我会加上我的两分钱,因为接受的答案有一个问题,就是在没有逗号的情况下将电子邮件地址相互匹配。
我提出的正则表达式是这样的:
^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[AZ]{2,}(,[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[AZ]{2,})*$
它与接受的答案类似,但解决了我所谈论的问题。 我提出的解决方案是一次或多次搜索“电子邮件地址后跟可选的逗号”,这是接受的答案所做的,此正则表达式搜索“电子邮件地址后跟可选的逗号前缀电子邮件地址任何次数“。
这通过将逗号分组后的电子邮件地址,并使整个组可选,而不仅仅是逗号来解决问题。
注意:此正则表达式用于启用不敏感标志。
您可以使用任何正则表达式匹配您喜欢的电子邮件地址,我只使用了我已经使用的那个。 你只需用你想要使用的正则表达式替换每个[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[AZ]{2,}
。
对我有用的解决方案如下
^([a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+)(,([a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+))*
- 如何在Visual Studio中添加SQL Server数据库文件(.mdf)而不安装SQL Server Express Edition?
- 在没有管理权限的本地IIS上调试网站
- System.Web.HttpException:这是一个无效的脚本资源请求
- 使用asp.net获取Web浏览器控件源
- Web API2 NinjectWebCommon.cs不会出现
- 基于xml向aspx添加其他文本框
- 你可以从ApiController类访问GetOwinContext()。GetUserManager吗?
- 异步(ajax)ASP.NET页面方法调用的请求生命周期是什么?
- ASP.NET Web App和C#Application之间的双向通信