表達式:
| 表示或者
[] 表示或者
[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}$/;