电子邮件验证问题

时间:2010-09-06 12:11:13

标签: asp.net

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

任何人都可以帮助我摆脱这个???

3 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

在asp.net的regularrexpression验证器控件下尝试此代码----> ^ [_ 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})|(航空|鸡舍|信息|博物馆|名称)。 )$

答案 2 :(得分:0)

最佳验证方法是发送确认电子邮件。

这篇文章是一个很好的介绍原因:

http://www.regular-expressions.info/email.html

如果你真的想要一个RFC2822正则表达式,那么它就是:

  

(?:[!?一个-Z0-9#$%&安培;' + / = ^ _ {|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_ {|}〜 - ] +) |“(?: [\ x01- \ X08 \ X0B \ X0C \ x0e- \ X1F \ X21 \ x23- \ x5b \ x5d- \ 0x7F部分] | \ [\ x01- \ X09 \ X0B \ X0C \ x0e- \ 0x7F部分]) “)@(:( ?:一个-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 - ] [A-Z0-9]:?(:[\ x01- \ X08 \ X0B \ X0C \ x0e- \ X1F \ X21 - \ X5A \ x53- \ 0x7F部分] | \ [\ x01- \ X09 \ X0B \ X0C \ x0e- \ 0x7F部分])+)])