2022前端必用⭐正則大全, 請?提前收好.

鐵皮飯盒發表於2021-12-23

你好, 我是any-rule(一個vscode外掛)的作者, 感謝大家長期以來對any-rule的喜愛. 經過大家1年多的使用, any-rule後臺已經有了10w+的日誌記錄, 年底了分享下這1年中大家最喜歡的正則有哪些.

https://github.com/any86/any-...

?正則TOP10

image.png

不出所料, 最常用的正則是"手機"

?具體使用資料

接下來我們看看近一年正則使用的整體排名.

手機號(mobile phone)中國(寬鬆), 只要是13,14,15,16,17,18,19開頭即可

(12534次)

/^(?:(?:\+|00)86)?1[3-9]\d{9}$/

手機號(mobile phone)中國(嚴謹), 根據工信部2019年最新公佈的手機號段

(11382次)

/^(?:(?:\+|00)86)?1(?:(?:3[\d])|(?:4[5-79])|(?:5[0-35-9])|(?:6[5-7])|(?:7[0-8])|(?:8[\d])|(?:9[189]))\d{8}$/

email(郵箱)

(10555次)

/^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/

密碼強度校驗,最少6位,包括至少1個大寫字母,1個小寫字母,1個數字,1個特殊字元

(8118次)

/^\S*(?=\S{6,})(?=\S*\d)(?=\S*[A-Z])(?=\S*[a-z])(?=\S*[!@#$%^&*? ])\S*$/

數字

(7577次)

/^\d{1,}$/

手機號(mobile phone)中國(最寬鬆), 只要是1開頭即可, 如果你的手機號是用來接收簡訊, 優先建議選擇這一條

(5899次)

/^(?:(?:\+|00)86)?1\d{10}$/

身份證號(2代,18位數字),最後一位是校驗位,可能為數字或字元X

(5032次)

/^[1-9]\d{5}(?:18|19|20)\d{2}(?:0[1-9]|10|11|12)(?:0[1-9]|[1-2]\d|30|31)\d{3}[\dXx]$/

手機機身碼(IMEI)

(4889次)

/^\d{15,17}$/

身份證號, 支援1/2代(15位/18位數字)

(4266次)

/^\d{6}((((((19|20)\d{2})(0[13-9]|1[012])(0[1-9]|[12]\d|30))|(((19|20)\d{2})(0[13578]|1[02])31)|((19|20)\d{2})02(0[1-9]|1\d|2[0-8])|((((19|20)([13579][26]|[2468][048]|0[48]))|(2000))0229))\d{3})|((((\d{2})(0[13-9]|1[012])(0[1-9]|[12]\d|30))|((\d{2})(0[13578]|1[02])31)|((\d{2})02(0[1-9]|1\d|2[0-8]))|(([13579][26]|[2468][048]|0[048])0229))\d{2}))(\d|X|x)$/

中文/漢字

(3978次)

/^(?:[\u3400-\u4DB5\u4E00-\u9FEA\uFA0E\uFA0F\uFA11\uFA13\uFA14\uFA1F\uFA21\uFA23\uFA24\uFA27-\uFA29]|[\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0])+$/

火車車次

(3911次)

/^[GCDZTSPKXLY1-9]\d{1,4}$/

中文姓名

(3768次)

/^(?:[\u4e00-\u9fa5·]{2,16})$/

使用者名稱校驗,4到16位(字母,數字,下劃線,減號)

(3701次)

/^[a-zA-Z0-9_-]{4,16}$/

數字/貨幣金額 (只支援正數、不支援校驗千分位分隔符)

(3315次)

/(?:^[1-9]([0-9]+)?(?:\.[0-9]{1,2})?$)|(?:^(?:0)$)|(?:^[0-9]\.[0-9](?:[0-9])?$)/

12小時制時間(hh:mm:ss)

(3115次)

/^(?:1[0-2]|0?[1-9]):[0-5]\d:[0-5]\d$/

數字和字母組成

(2559次)

/^[A-Za-z0-9]+$/

銀行卡號(10到30位, 覆蓋對公/私賬戶, 參考微信支付

(2395次)

/^[1-9]\d{9,29}$/

座機(tel phone)電話(國內),如: 0341-86091234

(2250次)

/^(?:(?:\d{3}-)?\d{8}|^(?:\d{4}-)?\d{7,8})(?:-\d+)?$/

統一社會信用程式碼

(2174次)

/^[0-9A-HJ-NPQRTUWXY]{2}\d{6}[0-9A-HJ-NPQRTUWXY]{10}$/

小數

(2146次)

/^\d+\.\d+$/

必須帶埠號的網址(或ip)

(2104次)

/^((ht|f)tps?:\/\/)?[\w-]+(\.[\w-]+)+:\d{1,5}\/?$/

16進位制顏色

(1584次)

/^#?([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$/

24小時制時間(HH:mm:ss)

(1561次)

/^(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d$/

date(日期)

(1510次)

/^\d{1,4}(-)(1[0-2]|0?[1-9])\1(0?[1-9]|[1-2]\d|30|31)$/

大於等於0, 小於等於150, 支援小數位出現5, 如145.5, 用於判斷考卷分數

(1459次)

/^150$|^(?:\d|[1-9]\d|1[0-4]\d)(?:\.5)?$/

車牌號(新能源+非新能源)

(1372次)

/^[京津滬渝冀豫雲遼黑湘皖魯新蘇浙贛鄂桂甘晉蒙陝吉閩貴粵青藏川寧瓊使領][A-HJ-NP-Z][A-HJ-NP-Z0-9]{4,5}[A-HJ-NP-Z0-9掛學警港澳]$/

數字/貨幣金額(支援負數、千分位分隔符)

(1337次)

/^-?\d+(,\d{3})*(\.\d{1,2})?$/

ip-v4[:埠]

(1311次)

/^((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.){3}(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])(?::(?:[0-9]|[1-9][0-9]{1,3}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5]))?$/

不能包含字母

(1267次)

/^[^A-Za-z]*$/

中文和數字

(1258次)

/^((?:[\u3400-\u4DB5\u4E00-\u9FEA\uFA0E\uFA0F\uFA11\uFA13\uFA14\uFA1F\uFA21\uFA23\uFA24\uFA27-\uFA29]|[\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0])|(\d))+$/

統一社會信用程式碼(寬鬆匹配)(15位/18位/20位數字/字母)

(1253次)

/^(([0-9A-Za-z]{15})|([0-9A-Za-z]{18})|([0-9A-Za-z]{20}))$/

html標籤(寬鬆匹配)

(1133次)

/<(\w+)[^>]*>(.*?<\/\1>)?/

迅雷連結

(1106次)

/^thunderx?:\/\/[a-zA-Z\d]+=$/

qq號格式正確

(1103次)

/^[1-9][0-9]{4,10}$/

數字和英文字母組成,並且同時含有數字和英文字母

(1073次)

/^(?=.*[a-zA-Z])(?=.*\d).+$/

圖片(image)連結地址(圖片格式可按需增刪)

(1057次)

/^https?:\/\/(.+\/)+.+(\.(gif|png|jpg|jpeg|webp|svg|psd|bmp|tif))$/i

帳號是否合法(字母開頭,允許5-16位元組,允許字母數字下劃線組合

(975次)

/^[a-zA-Z]\w{4,15}$/

澳門身份證

(967次)

/^[1|5|7]\d{6}\(\d\)$/

大寫英文字母

(939次)

/^[A-Z]+$/

微訊號(wx),6至20位,以字母開頭,字母,數字,減號,下劃線

(900次)

/^[a-zA-Z][-_a-zA-Z0-9]{5,19}$/

英文字母

(890次)

/^[a-zA-Z]+$/

車牌號(非新能源)

(852次)

/^[京津滬渝冀豫雲遼黑湘皖魯新蘇浙贛鄂桂甘晉蒙陝吉閩貴粵青藏川寧瓊使領][A-HJ-NP-Z][A-HJ-NP-Z0-9]{4}[A-HJ-NP-Z0-9掛學警港澳]$/

車牌號(新能源)

(813次)

/^[京津滬渝冀豫雲遼黑湘皖魯新蘇浙贛鄂桂甘晉蒙陝吉閩貴粵青藏川寧瓊使領][A-HJ-NP-Z](?:((\d{5}[A-HJK])|([A-HJK][A-HJ-NP-Z0-9][0-9]{4}))|[A-HJ-NP-Z0-9]{4}[A-HJ-NP-Z0-9掛學警港澳])$/

身份證號(1代,15位數字)

(809次)

/^[1-9]\d{7}(?:0\d|10|11|12)(?:0[1-9]|[1-2][\d]|30|31)\d{3}$/

護照(包含香港、澳門)

(724次)

/(^[EeKkGgDdSsPpHh]\d{8}$)|(^(([Ee][a-fA-F])|([DdSsPp][Ee])|([Kk][Jj])|([Mm][Aa])|(1[45]))\d{7}$)/

版本號(version)格式必須為X.Y.Z

(706次)

/^\d+(?:\.\d+){2}$/

html註釋

(704次)

/<!--[\s\S]*?-->/g

英文姓名

(703次)

/(^[a-zA-Z][a-zA-Z\s]{0,20}[a-zA-Z]$)/

磁力連結(寬鬆匹配)

(692次)

/^magnet:\?xt=urn:btih:[0-9a-fA-F]{40,}.*$/

郵政編碼(中國)

(569次)

/^(0[1-7]|1[0-356]|2[0-7]|3[0-6]|4[0-7]|5[1-7]|6[1-7]|7[0-5]|8[013-6])\d{4}$/

股票程式碼(A股)

(555次)

/^(s[hz]|S[HZ])(000[\d]{3}|002[\d]{3}|300[\d]{3}|600[\d]{3}|60[\d]{4})$/

ed2k連結(寬鬆匹配)

(517次)

/^ed2k:\/\/\|file\|.+\|\/$/

正整數,不包含0

(504次)

/^\+?[1-9]\d*$/

base64格式

(500次)

/^\s*data:(?:[a-z]+\/[a-z0-9-+.]+(?:;[a-z-]+=[a-z0-9-]+)?)?(?:;base64)?,([a-z0-9!$&',()*+;=\-._~:@/?%\s]*?)\s*$/i

email(支援中文郵箱)

(478次)

/^[A-Za-z0-9\u4e00-\u9fa5]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$/

視訊(video)連結地址(視訊格式可按需增刪)

(472次)

/^https?:\/\/(.+\/)+.+(\.(swf|avi|flv|mpg|rm|mov|wav|asf|3gp|mkv|rmvb|mp4))$/i

mac地址

(463次)

/^((([a-f0-9]{2}:){5})|(([a-f0-9]{2}-){5}))[a-f0-9]{2}$/i

匹配連續重複的字元

(448次)

/(.)\1+/

香港身份證

(367次)

/^[a-zA-Z]\d{6}\([\dA]\)$/

window"資料夾"路徑

(358次)

/^[a-zA-Z]:\\(?:\w+\\?)*$/

小寫英文字母組成

(346次)

/^[a-z]+$/

md5格式(32位)

(328次)

/^([a-f\d]{32}|[A-F\d]{32})$/

ip-v6[:埠]

(319次)

/(^(?:(?:(?:[0-9A-Fa-f]{1,4}:){7}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){6}:[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){5}:([0-9A-Fa-f]{1,4}:)?[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){4}:([0-9A-Fa-f]{1,4}:){0,2}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){3}:([0-9A-Fa-f]{1,4}:){0,3}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){2}:([0-9A-Fa-f]{1,4}:){0,4}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){6}((\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b)\.){3}(\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b))|(([0-9A-Fa-f]{1,4}:){0,5}:((\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b)\.){3}(\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b))|(::([0-9A-Fa-f]{1,4}:){0,5}((\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b)\.){3}(\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b))|([0-9A-Fa-f]{1,4}::([0-9A-Fa-f]{1,4}:){0,5}[0-9A-Fa-f]{1,4})|(::([0-9A-Fa-f]{1,4}:){0,6}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){1,7}:))$)|(^\[(?:(?:(?:[0-9A-Fa-f]{1,4}:){7}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){6}:[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){5}:([0-9A-Fa-f]{1,4}:)?[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){4}:([0-9A-Fa-f]{1,4}:){0,2}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){3}:([0-9A-Fa-f]{1,4}:){0,3}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){2}:([0-9A-Fa-f]{1,4}:){0,4}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){6}((\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b)\.){3}(\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b))|(([0-9A-Fa-f]{1,4}:){0,5}:((\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b)\.){3}(\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b))|(::([0-9A-Fa-f]{1,4}:){0,5}((\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b)\.){3}(\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b))|([0-9A-Fa-f]{1,4}::([0-9A-Fa-f]{1,4}:){0,5}[0-9A-Fa-f]{1,4})|(::([0-9A-Fa-f]{1,4}:){0,6}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){1,7}:))\](?::(?:[0-9]|[1-9][0-9]{1,3}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5]))?$)/i

linux資料夾路徑

(313次)

/^\/(?:[^/]+\/)*$/

臺灣身份證

(302次)

/^[a-zA-Z][0-9]{9}$/

java包名

(282次)

/^([a-zA-Z_]\w*)+([.][a-zA-Z_]\w*)+$/

window下"檔案"路徑

(271次)

/^[a-zA-Z]:\\(?:\w+\\)*\w+\.\w+$/

linux檔案路徑

(269次)

/^\/(?:[^/]+\/)*[^/]+$/

整數

(219次)

/^-?[0-9]\d*$/

linux"隱藏檔案"路徑

(194次)

/^\/(?:[^/]+\/)*\.[^/]*/

浮點數

(153次)

/^(-?\d+)(\.\d+)?$/

GUID/UUID

(145次)

/^[a-f\d]{4}(?:[a-f\d]{4}-){4}[a-f\d]{12}$/i

負整數,不包含0

(50次)

/^-[1-9]\d*$/

負整數,不包含0

(50次)

/^-[1-9]\d*$/

學習互動

感謝大家的閱讀, 如有疑問可以加我微信, 我拉你進入微信群(由於騰訊對微信群的100人限制, 超過100人後必須由群成員拉入)

相關文章