js驗證郵箱的正則表達式
- IT科技
- 關注:2.66W次
在做用户註冊時,常會用到郵箱地址的正則表達式。本文列舉了幾種方案,大家可以根據自己的項目情況,選擇最適合的方案。
方案1 (常用)
規則定義如下:
以大寫字母[A-Z]、小寫字母[a-z]、數字[0-9]、下滑線[_]、減號[-]及點號[.]開頭,並需要重複一次至多次[+]。
中間必須包括@符號。
@之後需要連接大寫字母[A-Z]、小寫字母[a-z]、數字[0-9]、下滑線[_]、減號[-]及點號[.],並需要重複一次至多次[+]。
結尾必須是點號[.]連接2至4位的大小寫字母[A-Za-z]{2,4}。
利用以上規則給出如下正則表達式:
var pattern = /^([A-Za-z0-9_-.])+@([A-Za-z0-9_-.])+.([A-Za-z]{2,4})$/;
需要注意的是該表達式不支持.online及.store結尾的域名,且郵件用户名不能包括中文。
方案2 (修訂方案1)
1、規則如下:
2、用户名可以包括中文[u4e00-u9fa5]
3、域名結尾最長可為8位{2,8}
正則表達式如下:
var pattern = /^([A-Za-z0-9_-.u4e00-u9fa5])+@([A-Za-z0-9_-.])+.([A-Za-z]{2,8})$/;
方案3 (安全)
在手機驗證碼出現之前,差不多郵箱驗證是保證用户唯一性的唯一條件。而臨時郵箱(也稱10分鐘郵箱或一次性郵箱)的出現,則使得郵箱驗證及帳户激活這種機制失去了意義。而臨時郵箱的地址是不可枚舉的,我們只能才採取白名單的方式,只允許有限的郵箱域名通過驗證。
根據方案1的補充,規則如下:
1、郵箱域名只能是163.com,qq.com或者42du.cn。
正則表達式是:
var pattern = /^([A-Za-z0-9_-.])+@(163.com|qq.com|42du.cn)$/。
關於JavaScript email郵箱地址的正則表達式,我們就分享到這啦!
- 文章版權屬於文章作者所有,轉載請註明 https://shqsg.com/zh-mo/dianzi/152v0p.html