常用正規表示式—郵箱(email)
本文針對有一點正則基礎的同學,如果你對正則一無所知,請移步「正規表示式30分鐘入門教程
」學習。
要驗證乙個字串是否為郵箱的話,首先要了解郵箱賬號的格式。我嘗試過在網上找出乙個標準的格式,但是很遺憾我沒有找到。我也嘗試使用rfc標準來判斷郵箱的格式,但是也沒有結果。
雖然沒有統一的郵箱賬號格式,但是所有郵箱都符合「名稱@網域名稱」的規律。對於名稱和網域名稱的字元限制,我們可以根據專案的情況定義乙個,比如只允許有英文、數字、下劃線等組成。下面舉例實現一些驗證郵箱格式的正規表示式。
例項1、只允許英文本母、數字、下劃線、英文句號、以及中劃線組成
分析郵件名稱部分:
分析網域名稱部分:
一般網域名稱的規律為「[n級網域名稱][**網域名稱.]二級網域名稱.頂級網域名稱」,比如「qq.com」、「www.qq.com」、「mp.weixin.qq.com」、「12-34.com.cn」,分析可得網域名稱類似「** .** .** .**」組成。
最終表示式:
由於郵箱的基本格式為「名稱@網域名稱」,需要使用「^」匹配郵箱的開始部分,用「katex parse error: can't use function '\.' in math mode at position 74: …[a-za-z0-9_-]+(\̲.̲[a-za-z0-9_-]+)…
例項2、名稱允許漢字、字母、數字,網域名稱只允許英文網域名稱
舉例:刺心[email protected]
分析郵件名稱部分:
漢字在正則表示為[\u4e00-\u9fa5]
字母和數字表示為a-za-z0-9
通過分析得出郵件名稱部分表示式為[a-za-z0-9\u4e00-\u9fa5]+
分析郵件網域名稱部分
郵件部分可以參考例項1中的分析網域名稱部分。
得出網域名稱部分的表示式為[a-za-z0-9_-]+(.[a-za-z0-9_-]+)+。
最終表示式:
我們用@符號將郵箱的名稱和網域名稱拼接起來,因此完整的郵箱表示式為
^
[a-za-z0-
9_-]
+@[a-za-z0-
9_-]
+(\.
[a-za-z0-
9_-]+)
+$
email正規表示式
說到正規表示式,網上有很多的通用的表示式,可是事實上說來,一般人的都 不願意去拿來研究,就是拿來就直接用就行了.可是,事實上,可能有些時候,專案中或公司裡的實際情況不一樣,得要修改一下正規表示式的,根據實際情況來定 制,這就需要我們來認真學習正規表示式的一些寫法,拿來主義,在讓我們享受豐富的網路共享...
email 正規表示式
1 email正規表示式 a za z0 9 a za z0 9 a za z 2 根據 1 email字首規則 英文26個字母 10個阿拉伯數字 點 減號或下劃線組成,只能以數字或字母開頭和結尾 2 網域名稱命名規則 英文26個字母 10個阿拉伯數字 減號組成,只能以數字或字母開頭和結尾,總共不能...
email正規表示式
說到正規表示式,網上有很多的通用的表示式,可是事實上說來,一般人的都 不願意去拿來研究,就是拿來就直接用就行了.可是,事實上,可能有些時候,專案中或公司裡的實際情況不一樣,得要修改一下正規表示式的,根據實際情況來定 制,這就需要我們來認真學習正規表示式的一些寫法,拿來主義,在讓我們享受豐富的網路共享...