2010-09-06 162 views
1

我在电子邮件字段验证中使用了正则表达式。 但我在我的网站使用会话和身份验证后,没有正则表达式为我工作。电子邮件验证中的问题

任何人都可以帮我解决这个问题吗?

+1

一些代码如何? – 2010-09-06 12:13:14

回答

0

尝试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))$

+0

我不禁注意到这不能涵盖所有情况(因为大多数正则表达式都是为了这种目的而拼凑的)。 – Rushyo 2010-09-17 10:11:34

0

很难回答你的问题,没有代码。

但个人而言,我不会使用正则表达式来验证电子邮件地址。见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

+0

很好的答案...非常感谢! – Srivastava 2010-09-07 04:56:39

0

最好的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])+)])