前端表單驗證常用的JS正規表示式

2021-09-24 13:37:20 字數 1781 閱讀 4638

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

var upattern = /^[a-za-z0-9_-]$/;

//輸出 true

console.log(upattern.test("caibaojian"));

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

var ppattern = /^.*(?=.)(?=.*\d)(?=.*[a-z])(?=.*[a-z])(?=.*[!@#$%^&*? ]).*$/;

//輸出 true

console.log("=="+ppattern.test("caibaojian#"));

//email正則

var epattern = /^([a-za-z0-9_\-\.])+\@([a-za-z0-9_\-\.])+\.([a-za-z])$/;

//輸出 true

console.log(epattern.test("[email protected]"));

//手機號正則

var mpattern = /^1[34578]\d$/; //

//輸出 true

console.log(mpattern.test("15507621888"));

//身份證號(18位)正則

var cp = /^[1-9]\d(18|19|([23]\d))\d((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d[0-9xx]$/;

//輸出 true

console.log(cp.test("11010519880605371x"));

//qq號正則,5至11位

var qqpattern = /^[1-9][0-9]$/;

//輸出 true

console.log(qqpattern.test("65974040"));

var wxpattern = /^[a-za-z]([-_a-za-z0-9])+$/;

//輸出 true

console.log(wxpattern.test("caibaojian_com"));

//包含中文正則

var cnpattern = /[\u4e00-\u9fa5]/;

//輸出 true

console.log(cnpattern.test("蔡寶堅"));

要理解?=和?!,首先需要理解前瞻,後顧,負前瞻,負後顧四個概念。

後顧:

負前瞻:

負後顧:

"中國人".replace(/(?<=中國)人/, "rr") // 匹配中國人中的人,將其替換為rr,結果為 中國rr

"法國人".replace(/(?<=中國)人/, "rr") // 結果為 法國人,因為人前面不是中國,所以無法匹配到

要理解?:則需要理解捕獲分組和非捕獲分組的概念

// 數字格式化 1,123,000

"1234567890".replace(/\b(?=(?:\d)+(?!\d))/g,",") // 結果:1,234,567,890,匹配的是後面是3*n個數字的非單詞邊界(\b)

前端表單驗證常用的15個JS正規表示式

故心故心故心故心小故衝啊 使用者名稱正則,4到16位 字母,數字,下劃線,減號 var upattern a za z0 9 輸出 true console.log upattern.test caibaojian 密碼強度正則,最少6位,包括至少1個大寫字母,1個小寫字母,1個數字,1個特殊字元 ...

最常用的15個JS正規表示式(前端表單驗證)

在表單驗證中,使用正則 1 使用者名稱正則 使用者名稱正則,4到16位 字母,數字,下劃線,減號 var upattern a za z0 9 輸出 true console.log upattern.test caibaojian 密碼強度正則,最少6位,包括至少1個大寫字母,1個小寫字母,1個數...

js正規表示式驗證表單

驗證email return function checkemail var email document.getelementbyid email value if email null email.length 0 else 驗證固定 return function checkofficetel...