电子邮件验证的正则表达式。
问题描述:
可能重复:
What is the best regular expression for validating email addresses?电子邮件验证的正则表达式。
我使用的要求对于电子邮件地址的形式。我用正则表达式作为
.*@.*\..*
但它不是我的一些测试电子邮件ID的做工精细喜欢
dsrasdf @@@ [email protected]
任何一个向我提供了电子邮件验证正则表达式在asp.net或者我可以用任何其他方法吧。
请给出您的建议。
答
最好依靠on the framework用于这种东西。
try {
address = new MailAddress(address).Address;
} catch(FormatException) {
//address is invalid
}
答
我使用下面的正则表达式我的电子邮件验证(不区分大小写):
^[A-Z0-9._%+-][email protected][A-Z0-9.-]+\.[A-Z]{2,4}$
我不知道的ASP,但我认为你可以使用它像这样。
答
^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z{2-4}|[0-9]{1,3})(\]?)$
作为一个经验法则:正则表达式中使用'.'之前想至少两次。请注意'.... @ ......'也符合您的表情。 – Michael 2010-09-07 09:26:36
@Michael:在这种特殊情况下,确实有一个相当宽松的验证是有意义的。实际的电子邮件地址遵循非常复杂的规则,并且通常不值得努力创建过于复杂(读取错误)的正则表达式。例如,一些主要的免费邮件提供商不允许使用完全有效的“+”字符。巴姆。 – 2010-09-07 09:31:05
真,还是使用'.'只应谨慎进行,就是在这种情况下,仍然是错误的。恕我直言,这种验证既不是“太松”,也不是“太严格”,因为字符串既不是超集也不是真正的有效电子邮件地址的子集。这只是错误的。 – Michael 2010-09-07 09:57:18