天天看點

常用正規表達式(轉載)

1 使用者名正則

?

1

2

3

4

​//使用者名正則,4到16位(字母,數字,下劃線,減号)​

​var​

​ ​

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

​//輸出 true​

​console.log(uPattern.test(​

​​

​"iFat3"​

​));​

2 密碼強度正則

​//密碼強度正則,最少6位,包括至少1個大寫字母,1個小寫字母,1個數字,1個特殊字元​

​var​

​pPattern = /^.*(?=.{6,})(?=.*\d)(?=.*[A-Z])(?=.*[a-z])(?=.*[!@​

​#$%^&*? ]).*$/;​

​//輸出 true​

​console.log(​

​"=="​

​+pPattern.test(​

​"iFat3#"​

​));​

3 整數正則

5

6

7

8

9

10

11

12

​//正整數正則​

​var​

​posPattern = /^\d+$/;​

​//負整數正則​

​var​

​negPattern = /^-\d+$/;​

​//整數正則​

​var​

​intPattern = /^-?\d+$/;​

​//輸出 true​

​console.log(posPattern.test(​

​"42"​

​));​

​//輸出 true​

​console.log(negPattern.test(​

​"-42"​

​));​

​//輸出 true​

​console.log(intPattern.test(​

​"-42"​

​));​

4 數字正則

可以是整數也可以是浮點數

​//正數正則​

​var​

​posPattern = /^\d*\.?\d+$/;​

​//負數正則​

​var​

​negPattern = /^-\d*\.?\d+$/;​

​//數字正則​

​var​

​numPattern = /^-?\d*\.?\d+$/;​

​console.log(posPattern.test(​

​"42.2"​

​));​

​console.log(negPattern.test(​

​"-42.2"​

​));​

​console.log(numPattern.test(​

​"-42.2"​

​));​

5 Email正則

​//Email正則​

​var​

​ePattern = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;​

​//輸出 true​

​console.log(ePattern.test(<a href=​

​"mailto:[email protected]"​

​>[email protected]</a>));​

6 手機号碼正則

​//手機号正則​

​var​

​mPattern = /^((13[0-9])|(14[5|7])|(15([0-3]|[5-9]))|(18[0,5-9]))\d{8}$/;​

​//輸出 true​

​console.log(mPattern.test(​

​"18600000000"​

​));​

7 身份證号正則

​//身份證号(18位)正則​

​var​

​cP = /^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/;​

​//輸出 true​

​console.log(cP.test(​

​"11010519880605371X"​

​));​

8 URL正則

​//身份證号(18位)正則​

​var​

​cP = /^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/;​

​//輸出 true​

​console.log(cP.test(​

​"11010519880605371X"​

​));​

9 IPv4位址正則

​//ipv4位址正則​

​var​

​ipP = /^(?:(?: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]?)$/;​

​//輸出 true​

​console.log(ipP.test(​

​"115.28.47.26"​

​));​

10 十六進制顔色正則

​//RGB Hex顔色正則​

​var​

​cPattern = /^​

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

​//輸出 true​

​console.log(cPattern.test(​

​"#b8b8b8"​

​));​

11 日期正則

13

14

​//日期正則,簡單判定,未做月份及日期的判定​

​var​

​dP1 = /^\d{4}(\-)\d{1,2}\1\d{1,2}$/;​

​//輸出 true​

​console.log(dP1.test(​

​"2017-05-11"​

​));​

​//輸出 true​

​console.log(dP1.test(​

​"2017-15-11"​

​));​

​//日期正則,複雜判定​

​var​

​dP2 = /^(?:(?!0000)[0-9]{4}-(?:(?: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]{2}(?:0[48]|[2468][048]|[13579][26])|(?:0[48]|[2468][048]|[13579][26])00)-02-29)$/;​

​//輸出 true​

​console.log(dP2.test(​

​"2017-02-11"​

​));​

​//輸出 false​

​console.log(dP2.test(​

​"2017-15-11"​

​));​

​//輸出 false​

​console.log(dP2.test(​

​"2017-02-29"​

​));​

12 QQ号碼正則

​//QQ号正則,5至11位​

​var​

​qqPattern = /^[1-9][0-9]{4,10}$/;​

​//輸出 true​

​console.log(qqPattern.test(​

​"65974040"​

​));​

13 微信号正則

​//微信号正則,6至20位,以字母開頭,字母,數字,減号,下劃線​

​var​

​wxPattern = /^[a-zA-Z]([-_a-zA-Z0-9]{5,19})+$/;​

​//輸出 true​

​console.log(wxPattern.test(​

​"RuilongMao"​

​));​

14 車牌号正則

​//車牌号正則​

​var​

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

​//輸出 true​

​console.log(cPattern.test(​

​"京K39006"​

​));​

15 包含中文正則

​//包含中文正則​

​var​

​cnPattern = /[\u4E00-\u9FA5]/;​

​//輸出 true​

​console.log(cnPattern.test(​

​"42度"​

​));​

樹立目标,保持活力,gogogo!