程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> .NET實例教程 >> 論壇E-mail驗正的正則表達式升級

論壇E-mail驗正的正則表達式升級

編輯:.NET實例教程

今天拿到了傳說中有1G大的Gmai,確實很好用速度極快,沒有了傳統的收件夾,取了代之的是labels ,用戶自己設定labels後加上郵件過濾設定,就成了郵件自動分練功能,邏輯上,用戶名+labels@gmail.com,"labels"可以自己取名,就可以達到無數個E-mail地址,這些地址同時指向用戶名@gmail.com

我在外面測試:能過163郵箱向用戶名+labels@gmail.com,郵件正常到達,而且按照事先的過慮設定被自動分類到labels文件夾下(其實並非文件夾)。也就是說傳統的E-mail地址中不允許有“+”的規則已經被打破,所以很多注刪流程中的E-mail驗證也也需要更新一下。

這幾天自己看了.Net,下面是自己修改的Email驗證的正則表達式:


合法E-mail地址:
1. 必須包含一個並且只有一個符號“@”
2. 第一個字符不得是“@”或者“.”
3. 不允許出現“@.”或者.@
4. 結尾不得是字符“@”或者“.”

5. 允許“@”前的字符中出現“+”
6. 不允許“+”在最前面,或者“+@”

正則表達式如下:
-----------------------------------------------------------------------
^(\w+((-\w+)|(\.\w+))*)\+\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$
-----------------------------------------------------------------------

字符描述:
^ :匹配輸入的開始位置。
\:將下一個字符標記為特殊字符或字面值。
* :匹配前一個字符零次或幾次。
+ :匹配前一個字符一次或多次。
(pattern) 與模式匹配並記住匹配。
x|y:匹配 x 或 y。
[a-z] :表示某個范圍內的字符。與指定區間內的任何字符匹配。
\w :與任何單詞字符匹配,包括下劃線。
$ :匹配輸入的結尾。 
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved