天天看點

正則比對手機号,郵箱(關于正規表達式)

表達式:

| 表示或者

[] 表示或者

[a-z] 表示所有的小寫字母

[A-Z] 表示所有的大寫字母

[A-z] 表示所有的字母

[A-Za-z] 表示所有的字母

[0-9] 表示所有數字

[12] 表示1或者2

[^] 表示取反 [^0-9] 非數字

量詞:

{n} 表示出現的次數

{n,m} 表示出現n到m次

{n,} 表示出現n到無限次

+ 表示1次到無限次 {1,}

* 表示0次到無限次 {0,}

? 表示0次到1次 {0,1}

^ 表示必須以…開頭

$ 表示必須以…結束

^…$ 表示必須是絕對比對

() 表示括号内的将作為一個整體

元字元:

. 查找單個字元(除了換行和行結束符之外的任意字元)

. 必須包含.

\w 所有字母,數字,下劃線

\W 所有非字母,數字,下劃線的值

\d 所有數字

\D 所有非數字

\s 包含空格

\S 不包含空格 隻有空格是false

\b 包含單詞邊界 包括空格和左右兩個單引号

\B 不包含單詞邊界 包括空格和左右兩個單引号

手機号比對:

var reg = /^1[3-9][0-9]{9}$/;
console.log(reg.test('13633345698'));   //true   reg.test()傳回一個布爾值
           

郵箱比對:‘

例:需滿足以下要求(可根據實際情況和需求對應改變)

[email protected]

[email protected]

第一部分:

xiao_ming 任意字母,數字,下劃線,中劃線 1次到無限次

第二部分: 整體出現0次到2次

.fdjskfjk 任意字母,數字,下劃線,中劃線 1次到30次

第三部分:

@

第四部分:

qq 字母或者數字 1次到10次

第五部分: 整體1次到2次

.com .和 字母3次

//第一部分   (\w|-)+
//第二部分   (\.(\w|-){1,30}){0,2}
//第三部分   @
//第四部分   [A-z0-9]{1,10}
//第五部分   (\.[A-z]{2,3}){1,2} 
//最終進行絕對比對
var reg = /^(\w|-)+(\.(\w|-){1,30}){0,2}@[A-z0-9]{1,10}(\.[A-z]{2,3}){1,2}$/;
           

繼續閱讀