簡體   English   中英

C#中的電子郵件驗證(在page_load中)

[英]Email validation in C# (within the page_load)

我對此很陌生:

我創建了一個簡單的表單,其中包含一個文本框和一個按鈕,基本上,當輸入的電子郵件地址正確時,下面顯示了一些結果(這是使用gridview控件)。

我想要做的是對表單進行某種形式的電子郵件驗證-但將驗證放置在page_load中(單擊按鈕內),而不是頁面本身后面的代碼。 我正在通過簡單的驗證來檢查是否已輸入電子郵件,否則顯示彈出窗口,並且在C#中電子郵件格式正確(abc@abc.com)

我假設僅在單擊按鈕(提交表單)時才會顯示詳細信息,如果不這樣做,為什么不添加RegularExpression驗證器並將其映射到文本框。 然后使用以下正則表達式來驗證電子郵件

\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\b

這樣,它也會增加用戶體驗。 用戶不必等待發回郵件來獲取錯誤警報。

另一個正則表達式的郵件格式驗證這里

這已經在這里討論了

問題是沒有覆蓋整個RFC 5322語法的有效正則表達式。 所有常見的正則表達式(例如Shoban所說的正則表達式)都過於嚴格-例如:應該覆蓋頂級域名的末尾部分[AZ] {2,4}會將.museum電子郵件標記為無效; 但是還有很多更復雜的例子,例如最近才被允許的德國Umlauts(元音突變)。

我們的方法是檢查驗證控件中允許的電子郵件的超集而不是子集(例如,使用\\ w +([-+。'] \\ w +) @ \\ w +([-。] \\ w +) 。\\ w +([-。] \\ w +)*),並加深服務器上的檢查(甚至可以使用像這樣的Web服務)。

順便說一句, 是一個更好的正則表達式。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM