电子邮件验证中的问题
尝试asp.net ----> ^ [_ A-的正则表达式验证控件下这段代码zA-Z0-9 - ] +(。[_a-zA-Z0-9-] +)@ [a-zA-Z0-9-] +(。[a-zA-Z0-9-] +) (([0-9] {1,3})|([a-zA-Z] {2,3})|(aero | coop | info | museum | name))$
我不禁注意到这不能涵盖所有情况(因为大多数正则表达式都是为了这种目的而拼凑的)。 – Rushyo 2010-09-17 10:11:34
很难回答你的问题,没有代码。
但个人而言,我不会使用正则表达式来验证电子邮件地址。见this question
我喜欢这种方法:
protected void emailValidator_ServerValidate(object source, ServerValidateEventArgs args)
{
try
{
var a = new MailAddress(txtEmail.Text);
}
catch (Exception ex)
{
args.IsValid = false;
emailValidator.ErrorMessage = "email: " + ex.Message;
}
}
这也可能是教育:I Knew How To Validate An Email Address Until I Read The RFC
很好的答案...非常感谢! – Srivastava 2010-09-07 04:56:39
最好的VA解锁方法是发送确认邮件。
这篇文章是关于为什么一个很好的介绍:
http://www.regular-expressions.info/email.html
如果你真的想要一个RFC2822的正则表达式,那就是:
(?:[A-Z0-9 !#$%&'+/=?^ _
{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_
{|}〜 - ] +) |“(?:[\ x01- \ x08 \ x0b \ x0c \ x0e- \ x1f \ x21 \ x23- \ x5b \ x5d- \ x7f] | \ [\ x01- \ x09 \ x0b \ x0c \ x0e- \ x7f])“)@(?:(?: a-z0-9?。)+ a-z0-9? | [(:(?: 25 [0-5] | 2 [0-4] [0-9] | [01] [0-9] [0-9]?)。 ){3}(?: 25 [0-5] | 2 [0-4] [0-9] | [01] [0-9] [0-9] |?[A-z0-9-] [?-z0-9] :(?:[\ x01- \ x08 \ x0b \ x0c \ x0e- \ x1f \ x21- \ x5a \ x53- \ x7f] | \ [\ x01- \ x09 \ x0b \ x0c \ x0e- \ x7f])+)])
一些代码如何? – 2010-09-06 12:13:14