2010-09-06 86 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])+)])