日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

常用正则表达式—邮箱(Email)

發(fā)布時間:2024/8/26 综合教程 33 生活家
生活随笔 收集整理的這篇文章主要介紹了 常用正则表达式—邮箱(Email) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

常用正則表達式—郵箱(Email)

 本文針對有一點正則基礎的同學,如果你對正則一無所知,請移步“正則表達式30分鐘入門教程”學習。

 要驗證一個字符串是否為郵箱的話,首先要了解郵箱賬號的格式。我嘗試過在網上找出一個標準的格式,但是很遺憾我沒有找到。我也嘗試使用RFC標準來判斷郵箱的格式,但是也沒有結果。網上些博客說不應該使用RFC標準來驗證郵箱是否合法,有興趣的可以看看“is this email valid?”和“Don’t RFC-Validate Email Addresses”。據了解【參考】,現在用中文命名的郵箱也合法了,比如“楊元慶@聯(lián)想.中國”。

 雖然沒有統(tǒng)一的郵箱賬號格式,但是所有郵箱都符合“名稱@域名”的規(guī)律。對于名稱和域名的字符限制,我們可以根據項目的情況定義一個,比如只允許有英文、數字、下劃線等組成。下面舉例實現一些驗證郵箱格式的正則表達式。

實例1、只允許英文字母、數字、下劃線、英文句號、以及中劃線組成

舉例:zhangsan-001@gmail.com
分析郵件名稱部分:

26個大小寫英文字母表示為a-zA-Z
數字表示為0-9
下劃線表示為_
中劃線表示為-
由于名稱是由若干個字母、數字、下劃線和中劃線組成,所以需要用到+表示多次出現

 根據以上條件得出郵件名稱表達式:[a-zA-Z0-9_-]+

分析域名部分:

 一般域名的規(guī)律為“[N級域名][三級域名.]二級域名.頂級域名”,比如“qq.com”、“www.qq.com”、“mp.weixin.qq.com”、“12-34.com.cn”,分析可得域名類似“**.**.**.**”組成。

“**”部分可以表示為[a-zA-Z0-9_-]+
“.**”部分可以表示為.[a-zA-Z0-9_-]+
多個“.**”可以表示為(.[a-zA-Z0-9_-]+)+

 綜上所述,域名部分可以表示為[a-zA-Z0-9_-]+(.[a-zA-Z0-9_-]+)+

最終表達式:
 由于郵箱的基本格式為“名稱@域名”,需要使用“^”匹配郵箱的開始部分,用“$”匹配郵箱結束部分以保證郵箱前后不能有其他字符,所以最終郵箱的正則表達式為:
  ^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(.[a-zA-Z0-9_-]+)+$

實例2、名稱允許漢字、字母、數字,域名只允許英文域名

舉例:楊元慶001Abc@lenovo.com.cn

分析郵件名稱部分:

漢字在正則表示為[u4e00-u9fa5]
字母和數字表示為A-Za-z0-9
 通過分析得出郵件名稱部分表達式為[A-Za-z0-9u4e00-u9fa5]+

分析郵件域名部分

 郵件部分可以參考實例1中的分析域名部分
 得出域名部分的表達式為[a-zA-Z0-9_-]+(.[a-zA-Z0-9_-]+)+

最終表達式:
 我們用@符號將郵箱的名稱和域名拼接起來,因此完整的郵箱表達式為
  ^[A-Za-z0-9u4e00-u9fa5]+@[a-zA-Z0-9_-]+(.[a-zA-Z0-9_-]+)+$

總結

以上是生活随笔為你收集整理的常用正则表达式—邮箱(Email)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。