最新JS正則匹配大全(工具類:不斷更新)

一、回顧知識:

.

點字符匹配除回車(\r)、換行(\n)、行分隔符(\u2028)和分段符(\u2029)之外的所有字符     

注:碼點大於0xFFFF的Unicode字符不能被匹配,因爲會被認爲是兩個字符

\w 匹配字母或數字或下劃線或漢字
\s 匹配任意的空白符
\d 匹配數字
\b 匹配單詞的開始或結束
^ 匹配字符串的開始
$ 匹配字符串的結束
|

豎線符號在正則中表示 ‘或關係’ , 即匹配其中之一即可

/a/ 字面量字符,匹配a,其中a可以換成其他的
\ 將下一個字符標記符、或一個向後引用、或一個八進制轉義符。例如,“\\n”匹配\n。“\n”匹配換行符。序列“\\”匹配“\”而“\(”則匹配“(”。即相當於多種編程語言中都有的“轉義字符”的概念。
*  

*

匹配前面的子表達式任意次。例如,zo*能匹配“z”,也能匹配“zo”以及“zoo”。*等價於{0,}。

二、應用實踐

1、最新手機號正則匹配:

正則:

/^1(3|4|5|6|7|8|9)\d{9}$/

解釋:最新手機號段:以1開頭,第二位是3~9中的任意一位,後面跟9位

示例:

	getlength(e) {
				let _this = this;
				if (e.mp.detail.value.length != 11) {
					_this.$showToast("請輸入11位手機號", "none");
					return false;
				} else {
					let reg = /^1(3|4|5|6|7|8|9)\d{9}$/;//最新手機號段:以1開頭,第二位是3~9中的任意一位,後面跟9位
					if (reg.test(_this.dataForm.oldMobile) || reg.test(_this.dataForm.newMobile) || reg.test(_this.dataForm.repeatMobile)) {
						_this.$showToast("輸入的手機號格式有誤", "none");
						return false
					} else {
						return true;
					}
				}
			},

 

2、最新18位身份證號碼

正則:

/^(\d{6})(\d{4})(\d{2})(\d{2})(\d{3})([0-9]|X)$/

 

測試:在線測試正則工具

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章