正規表示式合集

2021-09-09 09:10:43 字數 3574 閱讀 1268

一.校驗數字

數字:/^[0-9]*$/

n位的數字:/^\d$/

至少n位的數字:/^\d$/

m-n位的數字:/^\d$/

零和非零開頭的數字:/^(0|[1-9][0-9]*)$/

非零開頭的最多帶兩位小數的數字:/^([1-9][0-9]*)+(.[0-9])?$/

帶1-2位小數的正數或負數:/^(\-)?\d+(\.\d)?$/

正數、負數、和小數:/^(\-|\+)?\d+(\.\d+)?$/

有兩位小數的正實數:/^[0-9]+(.[0-9])?$/

有1~3位小數的正實數:/^[0-9]+(.[0-9])?$/

非零的正整數:/^[1-9]\d*$/

非零的負整數:/^\-[1-9]0-9"*$/

非負整數:/^\d+$/

非正整數:/^-[1-9]\d*|0$/

非負浮點數:/^\d+(\.\d+)?$/

非正浮點數:/^((-\d+(\.\d+)?)|(0+(\.0+)?))$/

正浮點數:/^[1-9]d .d |0.d [1-9]d $/

負浮點數:/^-([1-9]\d*\.\d*|0\.\d*[1-9]\d*)$/

浮點數:/^(-?\d+)(\.\d+)?$/

二.效驗字元

漢字:/^[\u4e00-\u9fa5]$/

英文和數字:/^[a-za-z0-9]+$/

長度為3-20的所有字元:/^.$/

由26個英文本母組成的字串:/ ^[a-za-z]+$/

由26個大寫英文本母組成的字串:/^[a-z]+$/

由26個小寫英文本母組成的字串:/^[a-z]+$/

由數字和26個英文本母組成的字串:/^[a-za-z0-9]+$/

由數字、26個英文本母或者下劃線組成的字串:/^\w+$/

中文、英文、數字包括下劃線:/^[\u4e00-\u9fa5a-za-z0-9_]+$/

中文、英文、數字但不包括下劃線等符號:/^[\u4e00-\u9fa5a-za-z0-9]+$/

三.特殊需求表示式

手機號碼:

/^(13[0-9]|14[5|7]|15[0|1|2|3|5|6|7|8|9]|18[0|1|2|3|5|6|7|8|9])\\d$/

(國內 13、15、18開頭的手機號正規表示式,可根據目前國內收集號擴充套件前兩位開頭號碼)

**號碼(「***-******x」、「***x-******xx」、「***-******x」、「***-******xx」、"******x"和"******xx):/^(\(\d-)|\d-)?\d$/

國內**號碼(0511-4405222、021-87888822):/\d-\d|\d-\d /

身份證號(15位):/^[1-9]\\d((0\\d)|(1[0-2]))(([0|1|2]\\d)|3[0-1])\\d$/

身份證號碼(18位):

/^[1-9]\\d[1-9]\\d((0\\d)|(1[0-2]))(([0|1|2]\\d)|3[0-1])\\d([0-9]|x)$/

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

/^[a-za-z][a-za-z0-9_]$/

密碼(以字母開頭,長度在6~18之間,只能包含字母、數字和下劃線):

/^[a-za-z]\w$/

強密碼(必須包含大小寫字母和數字的組合,不能使用特殊字元,長度在8-16之間):/^(?=.*\d)(?=.*[a-z])(?=.*[a-z]).$/

日期格式:/^\d-\d-\d/

一年的12個月(01~09和1~12):/^(0?[1-9]|1[0-2])$/

乙個月的31天(01~09和1~31):/^((0?[1-9])|((1|2)[0-9])|30|31)$/

xml檔案:/^([a-za-z]+-?)+[a-za-z0-9]+\\.[x|x][m|m][l|l]$/

中文字元的正規表示式:/[\u4e00-\u9fa5]/

雙位元組字元:/[^\x00-\xff]/(包括漢字在內,可以用來計算字串的長度(乙個雙位元組字元長度計2,ascii字元計1))

空白行的正規表示式:/\n\s*\r/(可以用來刪除空白行)

首尾空白字元的正規表示式:/^\s*|\s*$//(^\s*)|(\s*$)/(可以用來刪除行首行

尾的空白字元(包括空格、製表符、換頁符等等),非常有用的表示式)

子網掩碼:/((?:(?:25[0-5]|2[0-4]\\d|[01]?\\d?\\d)\\.)(?:25[0-5]|2[0-4]\\d|[01]?\\d?\\d))/

校驗日期:/^(?:(?!0000)[0-9]-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1[0-9]|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[0-9](?:0[48]|[2468][048]|[13579][26])|(?:0[48]|[2468][048]|[13579][26])00)-02-29)$/(「yyyy-mm-dd「 格式的日期校驗,已考慮平閏年。)

抽取注釋:

查詢css屬性:/^\\s*[a-za-z\\-]+\\s*[:]\\s[a-za-z0-9\\s.#]+[;]/

提取網頁:< *[img][^\\\\>]*[src] *= *[\\"\\']([^\\"\\'\\ >]*)

提取網頁顏色**:/^#([a-fa-f0-9]|[a-fa-f0-9])$/

副檔名效驗:/^([a-za-z]\\:|\\\\)\\\\([^\\\\]+\\\\)*[^\\/:*?"<>|]+\\.txt(l)?$/

判斷ie版本:/^.*msie [5-8](?:\\.[0-9]+)?(?!.*trident\\/[5-9]\\.0).*$/

正規表示式合集

export const regnumber15 message 請輸入數字或字母,限制長度為15個字元 export const regstring50 message 請輸入中文字元,限制長度50個字元 export const regchineseenglish10 message 請輸入中文...

正規表示式合集

dns規定,網域名稱中的標號都由英文本母和數字組成,每乙個標號不超過63個字元,也不區分大小寫字母。標號中除連字元 外不能使用其他的標點符號。級別最低的網域名稱寫在最左邊,而級別最高的網域名稱寫在最右邊。由多個標號組成的完整網域名稱總共不超過255個字元。由此匹配完整網域名稱的正規表示式 匹配 匹配...

史上最全正規表示式合集

正規表示式,新手見它的感覺就是 這都什麼玩意,亂七八糟的,完全不知所云 但學會它就會體驗那種一行 抵數十上百行,效率飛起的感覺,簡直不要太爽。今天小肆先把我自己收藏的一些正規表示式寫法分享給大家,當然想深入學習如何寫正規表示式,可以去w3c看看教程。數字 0 9 n位的數字 d 至少n位的數字 d ...