2009-10-21 54 views
3

我跟隨blog post here使用自定義驗證程序來驗證電子郵件列表。但是,文章中的正則表達式表達:ASP.NET自定義驗證器對逗號分隔的電子郵件地址列表的問題

Regex emailRegEx = new Regex(@"\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*", 
         RegexOptions.IgnoreCase); 

允許通過這個郵箱地址:

"[email protected] [email protected]" 

這顯然是無效的。

我該如何將其更改爲無效?

注意:當您使用帶有SAME正則表達式的核心RegEx驗證器時,它會捕獲該電子郵件,因此可能是匹配選項的問題?

感謝

回答

2
Regex emailRegEx = new Regex(@"^\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$", RegexOptions.IgnoreCase); 

它看起來像你需要終止您的正則表達式。檢查開始時的'^'和上面表達式末尾的「$」。

+0

+1這是答案。 RegularExpressionValidator控件用於OP的原因是因爲這些錨點是假設的,並且它們作爲結果正確匹配。但是,正則表達式類不承擔任何責任,因此必須明確指定它們。 – 2009-10-21 03:15:45

+0

感謝您的快速回答 - 非常令人印象深刻!修復了它.. – Rodney 2009-10-21 05:28:40

相關問題