【常用正则大全】
正則表達(dá)式相關(guān)知識點
轉(zhuǎn)義字符
如果想要匹配特殊字符的話,就得使用元字符 \, 它是轉(zhuǎn)義字符字符,讓其后續(xù)的字符失去其本來的含義。
| 換行符 | \n | new line |
| 換頁符 | \f | form feed |
| 回車符 | \r | return |
| 空白符 | \s | space |
| 制表符 | \t | tab |
| 垂直制表符 | \v | vertical tab |
| 回退符 | [\b] | backspace,之所以使用[]符號是避免和\b重復(fù) |
匹配多個字符的簡便正則表達(dá)式
| 除了換行符之外的任何字符 | . | 句號,除了句子結(jié)束符 |
| 單個數(shù)字, [0-9] | \d | digit |
| 除了[0-9] | \D | not digit |
| 包括下劃線在內(nèi)的單個字符,[A-Za-z0-9_] | \w | word |
| 非單字字符 | \W | not word |
| 匹配空白字符,包括空格、制表符、換頁符和換行符 | \s | space |
| 匹配非空白字符 | \S | not space |
循環(huán)與重復(fù)
| 0次或1次 | ? |
| 0次或無數(shù)次 | * |
| 1次或無數(shù)次 | + |
| 特定次數(shù) | {x}, {min, max} |
字符串邊界
| 單詞邊界 | \b | boundary |
| 非單詞邊界 | \B | not boundary |
| 字符串開頭 | ^ | - |
| 字符串結(jié)尾 | $ | - |
| 多行模式 | m標(biāo)志 | multiple of lines |
| 忽略大小寫 | i標(biāo)志 | ignore case, case-insensitive |
| 全局模式 | g標(biāo)志 | global |
回溯引用
所謂 回溯引用(backreference) 指的是模式的后面部分引用前面已經(jīng)匹配到的子字符串。
回溯引用的語法 \1,\2,....,:
- \1:表示引用的第一個子表達(dá)式
- \2:表示引用的第二個子表達(dá)式
- …
- \0:則表示整個表達(dá)式
例子:假設(shè)現(xiàn)在要在下面這個文本里匹配兩個連續(xù)相同的單詞?
I am am kaimo not not kaimo313用 $1,$2...來引用要被替換的字符串。
"I am am kaimo not not kaimo313".replace(/\b(\w+)\s\1/g, 'xxx');"I am am kaimo not not kaimo313".replace(/\b(\w+)\s\1/g, '$1');不想子表達(dá)式被引用,可以使用非捕獲正則 (?:regex) 這樣就可以避免浪費內(nèi)存。
"kaimo313".replace(/(kaimo)(?:313)/, '$1,$2')(負(fù))前向查找
前向查找:凡是以 (?=regex) 包含的子表達(dá)式在匹配過程中都會用來限制前面的表達(dá)式的匹配。
負(fù)前向查找:語法 (?!regex)
"kaimo kaimo313".replace(/kaimo(?=313)/, 'xxx'); // 負(fù)前向查找 "kaimo kaimo313".replace(/kaimo(?!313)/, 'xxx');(負(fù))后向查找
后向查找:后向查找(lookbehind)是通過指定一個子表達(dá)式,然后從符合這個子表達(dá)式的位置出發(fā)開始查找符合規(guī)則的字串。語法:(?<=regex)
負(fù)后向查找:語法:(?<!regex)
可以將字符串進(jìn)行翻轉(zhuǎn),然后再使用前向查找,作完處理后再翻轉(zhuǎn)回來。
"kaimo kaimo313kaimo kaimo".replace(/(?<=313)kaimo/, 'xxx');"kaimo kaimo313kaimo kaimo".replace(/(?<!313)kaimo/, 'xxx');"kaimo kaimo313kaimo kaimo".replace(/(?<!313)kaimo/g, 'xxx');| 引用 | \0,\1,\2 和 $0, $1, $2 | 轉(zhuǎn)義+數(shù)字 |
| 非捕獲組 | (?:) | 引用表達(dá)式(()), 本身不被消費(?),引用(😃 |
| 前向查找 | (?=) | 引用子表達(dá)式(()),本身不被消費(?), 正向的查找(=) |
| 前向負(fù)查找 | (?!) | 引用子表達(dá)式(()),本身不被消費(?), 負(fù)向的查找(!) |
| 后向查找 | (?<=) | 引用子表達(dá)式(()),本身不被消費(?), 后向的(<,開口往后),正的查找(=) |
| 后向負(fù)查找 | (?<!) | 引用子表達(dá)式(()),本身不被消費(?), 后向的(<,開口往后),負(fù)的查找(!) |
推薦 vscode 插件:any-rule
安裝
vscode 應(yīng)用商店中搜索 any-rule,安裝即可。
使用
方式1:
右鍵選擇 🦕正則大全
方式2:
在代碼任意位置輸入**@zz**。
圖解正則
每次在 any-rule 中選擇正則后會彈出提示, 可點擊圖解正則
點擊后可以看到正則解析:https://regexper.com/
也可以使用正則表達(dá)式可視化工具:https://jex.im/regulex/#!flags=&re= 查看正則圖解
any-rule 正則大全測試
我們可以打開:https://any86.github.io/any-rule/,我們可以查找到我們需要正則關(guān)鍵字,然后輸入去驗證。
any-rule 正則大全(已收錄 83)
下面的正則大全來自:https://github.com/any86/any-rule
火車車次
/^[GCDZTSPKXLY1-9]\d{1,4}$/手機機身碼(IMEI)
/^\d{15,17}$/必須帶端口號的網(wǎng)址(或ip)
/^((ht|f)tps?:\/\/)?[\w-]+(\.[\w-]+)+:\d{1,5}\/?$/網(wǎng)址(URL)
/^(((ht|f)tps?):\/\/)?([^!@#$%^&*?.\s-]([^!@#$%^&*?.\s]{0,63}[^!@#$%^&*?.\s])?\.)+[a-z]{2,6}\/?/統(tǒng)一社會信用代碼
/^[0-9A-HJ-NPQRTUWXY]{2}\d{6}[0-9A-HJ-NPQRTUWXY]{10}$/統(tǒng)一社會信用代碼(寬松匹配)(15位/18位/20位數(shù)字/字母)
/^(([0-9A-Za-z]{15})|([0-9A-Za-z]{18})|([0-9A-Za-z]{20}))$/迅雷鏈接
/^thunderx?:\/\/[a-zA-Z\d]+=$/ed2k鏈接(寬松匹配)
/^ed2k:\/\/\|file\|.+\|\/$/磁力鏈接(寬松匹配)
/^magnet:\?xt=urn:btih:[0-9a-fA-F]{40,}.*$/子網(wǎng)掩碼(不包含 0.0.0.0)
/^(254|252|248|240|224|192|128)\.0\.0\.0|255\.(254|252|248|240|224|192|128|0)\.0\.0|255\.255\.(254|252|248|240|224|192|128|0)\.0|255\.255\.255\.(255|254|252|248|240|224|192|128|0)$/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, 支持小數(shù)位出現(xiàn)5, 如145.5, 用于判斷考卷分?jǐn)?shù)
/^150$|^(?:\d|[1-9]\d|1[0-4]\d)(?:\.5)?$/html注釋
/<!--[\s\S]*?-->/gmd5格式(32位)
/^[a-fA-F0-9]{32}$/GUID/UUID
/^[a-f\d]{4}(?:[a-f\d]{4}-){4}[a-f\d]{12}$/i版本號(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))$/i24小時制時間(HH:mm:ss)
/^(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d$/12小時制時間(hh:mm:ss)
/^(?:1[0-2]|0?[1-9]):[0-5]\d:[0-5]\d$/base64格式
/^\s*data:(?:[a-z]+\/[a-z0-9-+.]+(?:;[a-z-]+=[a-z0-9-]+)?)?(?:;base64)?,([a-z0-9!$&',()*+;=\-._~:@/?%\s]*?)\s*$/i數(shù)字/貨幣金額(支持負(fù)數(shù)、千分位分隔符)
/^-?\d+(,\d{3})*(\.\d{1,2})?$/數(shù)字/貨幣金額 (只支持正數(shù)、不支持校驗千分位分隔符)
/(?:^[1-9]([0-9]+)?(?:\.[0-9]{1,2})?$)|(?:^(?:0)$)|(?:^[0-9]\.[0-9](?:[0-9])?$)/銀行卡號
/^[1-9]\d{9,29}$/10到30位, 覆蓋對公/私賬戶, 參考微信支付
中文姓名
/^(?:[\u4e00-\u9fa5·]{2,16})$/英文姓名
/(^[a-zA-Z][a-zA-Z\s]{0,20}[a-zA-Z]$)/車牌號(新能源)
/^[京津滬渝冀豫云遼黑湘皖魯新蘇浙贛鄂桂甘晉蒙陜吉閩貴粵青藏川寧瓊使領(lǐng)][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掛學(xué)警港澳])$/車牌號(非新能源)
/^[京津滬渝冀豫云遼黑湘皖魯新蘇浙贛鄂桂甘晉蒙陜吉閩貴粵青藏川寧瓊使領(lǐng)][A-HJ-NP-Z][A-HJ-NP-Z0-9]{4}[A-HJ-NP-Z0-9掛學(xué)警港澳]$/車牌號(新能源+非新能源)
/^[京津滬渝冀豫云遼黑湘皖魯新蘇浙贛鄂桂甘晉蒙陜吉閩貴粵青藏川寧瓊使領(lǐng)][A-HJ-NP-Z][A-HJ-NP-Z0-9]{4,5}[A-HJ-NP-Z0-9掛學(xué)警港澳]$/手機號(mobile phone)中國(嚴(yán)謹(jǐn)), 根據(jù)工信部2019年最新公布的手機號段
/^(?:(?:\+|00)86)?1(?:(?:3[\d])|(?:4[5-79])|(?:5[0-35-9])|(?:6[5-7])|(?:7[0-8])|(?:8[\d])|(?:9[189]))\d{8}$/手機號(mobile phone)中國(寬松), 只要是13,14,15,16,17,18,19開頭即可
/^(?:(?:\+|00)86)?1[3-9]\d{9}$/手機號(mobile phone)中國(最寬松), 只要是1開頭即可, 如果你的手機號是用來接收短信, 優(yōu)先建議選擇這一條
/^(?:(?:\+|00)86)?1\d{10}$/日期(寬松)
/^\d{1,4}(-)(1[0-2]|0?[1-9])\1(0?[1-9]|[1-2]\d|30|31)$/日期(嚴(yán)謹(jǐn), 支持閏年判斷)
/^(([0-9]{3}[1-9]|[0-9]{2}[1-9][0-9]{1}|[0-9]{1}[1-9][0-9]{2}|[1-9][0-9]{3})-(((0[13578]|1[02])-(0[1-9]|[12][0-9]|3[01]))|((0[469]|11)-(0[1-9]|[12][0-9]|30))|(02-(0[1-9]|[1][0-9]|2[0-8]))))|((([0-9]{2})(0[48]|[2468][048]|[13579][26])|((0[48]|[2468][048]|[3579][26])00))-02-29)$/中國省
/^浙江|上海|北京|天津|重慶|黑龍江|吉林|遼寧|內(nèi)蒙古|河北|新疆|甘肅|青海|陜西|寧夏|河南|山東|山西|安徽|湖北|湖南|江蘇|四川|貴州|云南|廣西|西藏|江西|廣東|福建|臺灣|海南|香港|澳門$/可以被moment轉(zhuǎn)化成功的時間 YYYYMMDD HH:mm:ss
/^\d{4}([/:-\S])(1[0-2]|0?[1-9])\1(0?[1-9]|[1-2]\d|30|31) (?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d$/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)電話(國內(nèi)),如: 0341-86091234
/^(?:(?:\d{3}-)?\d{8}|^(?:\d{4}-)?\d{7,8})(?:-\d+)?$/身份證號(1代,15位數(shù)字)
/^[1-9]\d{7}(?:0\d|10|11|12)(?:0[1-9]|[1-2][\d]|30|31)\d{3}$/身份證號(2代,18位數(shù)字),最后一位是校驗位,可能為數(shù)字或字符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位數(shù)字)
/^\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)$/護(hù)照(包含香港、澳門)
/(^[EeKkGgDdSsPpHh]\d{8}$)|(^(([Ee][a-fA-F])|([DdSsPp][Ee])|([Kk][Jj])|([Mm][Aa])|(1[45]))\d{7}$)/帳號是否合法(字母開頭,允許5-16字節(jié),允許字母數(shù)字下劃線組合
/^[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])+$/小數(shù)
/^\d+\.\d+$/只包含數(shù)字
/^\d+$/html標(biāo)簽(寬松匹配)
/<(\w+)[^>]*>(.*?<\/\1>)?/匹配中文漢字和中文標(biāo)點
/[\u4e00-\u9fa5|\u3002|\uff1f|\uff01|\uff0c|\u3001|\uff1b|\uff1a|\u201c|\u201d|\u2018|\u2019|\uff08|\uff09|\u300a|\u300b|\u3008|\u3009|\u3010|\u3011|\u300e|\u300f|\u300c|\u300d|\ufe43|\ufe44|\u3014|\u3015|\u2026|\u2014|\uff5e|\ufe4f|\uffe5]/qq號格式正確
/^[1-9][0-9]{4,10}$/數(shù)字和字母組成
/^[A-Za-z0-9]+$/英文字母
/^[a-zA-Z]+$/小寫英文字母組成
/^[a-z]+$/大寫英文字母
/^[A-Z]+$/密碼強度校驗,最少6位,包括至少1個大寫字母,1個小寫字母,1個數(shù)字,1個特殊字符
/^\S*(?=\S{6,})(?=\S*\d)(?=\S*[A-Z])(?=\S*[a-z])(?=\S*[!@#$%^&*? ])\S*$/用戶名校驗,4到16位(字母,數(shù)字,下劃線,減號)
/^[a-zA-Z0-9_-]{4,16}$/ip-v4[:端口]
/^((\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]))?$/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}:))$)|(^\[(?:(?:(?:[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]))?$)/i16進(jìn)制顏色
/^#?([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$/微信號(wx),6至20位,以字母開頭,字母,數(shù)字,減號,下劃線
/^[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}$/中文和數(shù)字
/^((?:[\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_]\w*)+([.][a-zA-Z_]\w*)+$/mac地址
/^((([a-f0-9]{2}:){5})|(([a-f0-9]{2}-){5}))[a-f0-9]{2}$/i匹配連續(xù)重復(fù)的字符
/(.)\1+/數(shù)字和英文字母組成,并且同時含有數(shù)字和英文字母
/^(?=.*[a-zA-Z])(?=.*\d).+$/香港身份證
/^[a-zA-Z]\d{6}\([\dA]\)$/澳門身份證
/^[1|5|7]\d{6}\(\d\)$/臺灣身份證
/^[a-zA-Z][0-9]{9}$/大寫字母,小寫字母,數(shù)字,特殊符號 @#$%^&*~()-+=` 中任意3項密碼
/^(?![a-zA-Z]+$)(?![A-Z0-9]+$)(?![A-Z\W_!@#$%^&*`~()-+=]+$)(?![a-z0-9]+$)(?![a-z\W_!@#$%^&*`~()-+=]+$)(?![0-9\W_!@#$%^&*`~()-+=]+$)[a-zA-Z0-9\W_!@#$%^&*`~()-+=]/ASCII碼表中的全部的特殊字符
/[\x21-\x2F\x3A-\x40\x5B-\x60\x7B-\x7E]+/正整數(shù),不包含0
/^\+?[1-9]\d*$/負(fù)整數(shù),不包含0
/^-[1-9]\d*$/整數(shù)
/^(?:0|(?:-?[1-9]\d*))$/浮點數(shù)
/^(-?[1-9]\d*\.\d+|-?0\.\d*[1-9]\d*|0\.0+)$/浮點數(shù)(嚴(yán)格)
/^(-?[1-9]\d*\.\d+|-?0\.\d*[1-9])$/email(支持中文郵箱)
/^[A-Za-z0-9\u4e00-\u9fa5]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$/域名(非網(wǎng)址, 不包含協(xié)議)
/^([0-9a-zA-Z-]{1,}\.)+([a-zA-Z]{2,})$/參考資料
- 正則表達(dá)式不要背
- 正則大全
總結(jié)
- 上一篇: [Leetcode][第491题][JA
- 下一篇: Linux 面试常考题总结大全【建议收藏