常用正則表達式合集與工具

any-rule 維護了一個常用正則表達式合集,並且本身是一個支持 Web/VS Code/idea/Alfred Workflow 多平臺的正則表達式工具。

安裝

VS Code 應用商店中搜索 “any-rule”

使用

方式 1:

  1. 按 F1(mac 下 fn+F1)打開正則列表

  2. 輸入關鍵詞搜索,比如 “手機”

方式 2:

右鍵選擇 “正則大全”

方式 3:

在代碼任意位置輸入 “@zz”

火車車次

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

手機機身碼 (IMEI)

/^\d{15,17}$/

必須帶端口號的網址 (或 ip)

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

網址 (url, 支持端口和 "?+ 參數" 和 "#+ 參數)

/^(((ht|f)tps?):\/\/)?[\w-]+(\.[\w-]+)+([\w.,@?^=%&:/~+#-]*[\w@?^=%&/~+#-])?$/

統一社會信用代碼

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

迅雷鏈接

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

ed2k 鏈接 (寬鬆匹配)

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

磁力鏈接 (寬鬆匹配)

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

子網掩碼

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

linux"隱藏文件" 路徑

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

linux 文件夾路徑

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

linux 文件路徑

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

window"文件夾" 路徑

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

window 下 "文件" 路徑

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

股票代碼 (A 股)

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

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

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

html 註釋

/^$/

md5 格式 (32 位)

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

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

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

視頻 (video) 鏈接地址(視頻格式可按需增刪)

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

圖片 (image) 鏈接地址(圖片格式可按需增刪)

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

24 小時制時間(HH🇲🇲ss)

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

12 小時制時間(hh🇲🇲ss)

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

base64 格式

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

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

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

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

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

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

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

中文姓名

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

英文姓名

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

車牌號 (新能源)

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

車牌號 (非新能源)

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

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

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

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

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

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

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

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

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

date(日期)

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

email(郵箱)

/^(([^<>()[\]\\.,;:\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,}))$/

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

/^\d{3}-\d{8}$|^\d{4}-\d{7,8}$/

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

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

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

/^[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]$/

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

/(^\d{8}(0\d|10|11|12)([0-2]\d|30|31)\d{3}$)|(^\d{6}(18|19|20)\d{2}(0[1-9]|10|11|12)([0-2]\d|30|31)\d{3}(\d|X|x)$)/

護照(包含香港、澳門)

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

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

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

中文 / 漢字

/^(?:[\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+\.\d+$/

數字

/^\d{1,}$/

html 標籤 (寬鬆匹配)

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

qq 號格式正確

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

數字和字母組成

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

英文字母

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

小寫英文字母組成

/^[a-z]+$/

大寫英文字母

/^[A-Z]+$/

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

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

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

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

ip-v4

/^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/

ip-v6

/^((([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}:))$/i

16 進制顏色

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

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

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

郵政編碼 (中國)

/^(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}$/

中文和數字

/^((?:[\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))+$/

不能包含字母

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

java 包名

/^([a-zA-Z_][a-zA-Z0-9_])+([.][a-zA-Z_][a-zA-Z0-9_])+$/

mac 地址

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

匹配連續重複的字符

/(.)\1+/
本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源https://mp.weixin.qq.com/s/_tKCF67jt0JzoypOfbvTuw