帮助使用正则表达式来验证由分号分隔的一系列n个电子邮件地址

时间:2010-02-02 20:17:26

标签: asp.net regex webforms

我正在使用asp.net Web窗体RegularExpressionValidator控件来验证文本字段,以确保它包含一系列以分号分隔的电子邮件地址。

此任务的正确正则表达式是什么?

2 个答案:

答案 0 :(得分:1)

我认为这个会奏效:

^([A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}(;|$))+

故障:

  • [A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}:有效的电子邮件(来自http://www.regular-expressions.info/
  • (;|$):分号或字符串结尾
  • (...)+:重复所有一次或多次

确保使用不区分大小写的匹配。此外,此模式不允许电子邮件之间或字符串的开头或结尾处的空格。

答案 1 :(得分:1)

'正确'(又名RFC2822)正则表达式太复杂了。尝试类似(\ S + @ [a-zA-Z0-9 - 。] +(\ s *; \ s * | \ s \ * Z))+ 不完美,但应该有90%(没有尝试过,所以可能需要一些改动)

注意:不太确定\ Z它可能只是一个Perl。如果它不起作用,请尝试$。