常用正規表示式總結

2021-08-10 21:06:22 字數 2509 閱讀 9693

一、校驗數字的表示式

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

2 n位的數字:^\d$

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

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

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

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

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

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

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

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

11 非零的正整數:^[1-9]\d*$ 或 ^([1-9][0-9]*)$ 或 ^\+?[1-9][0-9]*$

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

13 非負整數:^\d+$ 或 ^[1-9]\d*|0$

14 非正整數:^-[1-9]\d*|0$ 或 ^((-\d+)|(0+))$

15 非負浮點數:^\d+(\.\d+)?$ 或 ^[1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0$

16 非正浮點數:^((-\d+(\.\d+)?)|(0+(\.0+)?))$ 或 ^(-([1-9]\d*\.\d*|0\.\d*[1-9]\d*))|0?\.0+|0$

17 正浮點數:^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$ 或 ^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$

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

19 浮點數:^(-?\d+)(\.\d+)?$ 或 ^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$

二、校驗字元的表示式

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

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

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

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

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

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

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

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

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

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

11 可以輸入含有^%&',;=?$\"等字元:[^%&',;=?$\x22]+

12 禁止輸入含有~的字元:[^~\x22]+

四、身份證驗證:

1.簡單匹配身份證:\d|\d 或

function validateidcard(idcard)((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d$)|(^[1-9]\d[1-9]\d((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])((\d)|\d[xx])$)$/;

2. 嚴格的身份證驗證:

var acity=  

function iscardid(sid)(\d|x)$/i.test(sid)) return "你輸入的身份證長度或格式錯誤";  

sid=sid.replace(/x$/i,"a");  

if(acity[parseint(sid.substr(0,2))]==null) return "你的身份證地區非法";  

sbirthday=sid.substr(6,4)+"-"+number(sid.substr(10,2))+"-"+number(sid.substr(12,2));  

var d=new date(sbirthday.replace(/-/g,"/")) ;  

if(sbirthday!=(d.getfullyear()+"-"+ (d.getmonth()+1) + "-" + d.getdate()))return "身份證上的出生日期非法";  

for(var i = 17;i>=0;i --) isum += (math.pow(2,i) % 11) * parseint(sid.charat(17 - i),11) ;  

if(isum%11!=1) return "你輸入的身份證號非法";  

return true;//acity[parseint(sid.substr(0,2))]+","+sbirthday+","+(sid.substr(16,1)%2?"男":"女")   

常用正規表示式總結

只能輸入數字 0 9 只能輸入 n 位的數字 d 只能輸入至少 n 位的數字 d 只能輸入 m n 位的數字 d 只能輸入零和非零開頭的數字 0 1 9 0 9 只能輸入有兩位小數的正實數 0 9 0 9 只能輸入有 1 3 位小數的正實數 0 9 0 9 只能輸入非零的正整數 1 9 0 9 只能...

常用正規表示式總結

1.只允許輸入漢字和逗字,並且開頭和結尾不能是逗號,u4e00 u9fa5 u4e00 u9fa5 u4e00 u9fa5 u4e00 u9fa5 2.查詢所有的藥名 用量 單位 src s s 2.src s s 7.使用正規表示式匹配url中的網域名稱 http 會匹配 http msnbc t...

常用正規表示式總結

1 數字相關的正規表示式 1 數字 0 9 2 n位定長的數字 d 3 m n 位之間的數字 d 4 零和非零開頭的數字 0 1 9 0 9 5 非零開頭的最多帶兩位小數的數字 1 9 0 9 0 9 6 帶1 2 位小數的正數或負數 d d 7 正數 負數 和小數 d d 8 有兩位小數的正實數 ...