正則表達式
1、聲明有兩種方式:
一、內置對象建立, 二、字面量建立正則表達式
2、正則表達式的組成
由一些普通字符和元字符組成,普通字符就是字母和數字,元字符是具備特殊意義的字符url
3、正則表達式五大內部類:(只要有一個字符知足條件,就是true)
(1)預約義類:(通配,數字字符,單詞字符,空白字符)spa
(2)簡單內部類.net
/sjdfi/ 必須是完整的包含指定字符,能夠多,但不能少對象
/[suej]/ 只要知足中括號中的一個就能夠blog
(3)負向類字符串
/[^abc]/ 取反,^符號在[]中,用來檢測的字符串數量不夠或者剛恰好知足其中一個字符,返回false。超出規定數量或者沒有一個與指定字符相符,就是知足條件,返回true.get
(4)範圍類it
規定一個範圍進行檢測io
[a-z] [A-Z] 只要檢測的值一個知足給定範圍,返回true
(5)組合類
[a-zA-Z0-9$%*] 多個斷定條件組合在一塊兒
4、正則邊界
/^abc/ ^ 以給定字符開頭 (注意:在[]中括號中是取反,不在中括號中是以什麼開頭)
/zfg$/ $ 以給定字符結尾,
^和$在一塊兒使用,表示精確匹配,必須是這個[^abc$];
/^\w/ 表示以字母,數字或者下劃線開頭的字符
/^\w$/ 當有了先後的邊界,只能匹配單個字符,要想匹配多個,就要用到量詞。
5、正則量詞(量詞使用在先後都有邊界的狀況下,而且一個量詞跟一個標準)
(1)* >=0 模板給定的字符能夠出現一次或者屢次,但不能出現其餘字符
Var reg = /^a*$/; a能夠出現0次或者屢次,不能出現其餘任何字符
/^abc*$/ 這種狀況,能夠出現屢次c,但ab只能出現一次,且出現順序是 abccc,不能調換。要想每一個字符均可以出現屢次,那麼每一個字符後面都要跟上量詞,而且順序也不能換
/^a*b+c?$/ aaabbbbc; true; abcabc; false;
(2)+ >=1 給定字符至少出現一次
/^a+$/
(3)? 0||1 給定字符出現0次或者1次
/^z?$/; z只能出現0次或者1次
/^\w+$/; 能夠出現屢次一樣的字母,數字,下劃線
/^[abc]+$/; 能夠屢次出現[abc]中的任意一個字符,但不能超出abc這三個字符的範圍
(4){} 大括號中的數字限定模板字符出現的個數
/^[abc]{2}$/; 能夠出現模板中的任意兩個字符
/^abc{2}$/; 規定必須完整的出現abc,而且c出現量詞(一個量詞跟一個標準,沒有任何包裹的字母均可以當作一個斷定標準,/abc/這種形式屬於簡單內部類)
(5){2,} 出現大於等於2次
/^\w{3,}$/; 出現字母,數字,下劃線的次數大於等於三次
/^ab{4,}c{2,}d$/ 必須以這個順序依次出現,b的次數要大於等於4次,c的次數要大於等於2,d最後一次出現結尾。
(6){2,5} 出現2次到5次(包括)
/^[a-zA-Z]{2,5}$/ a-z,A-Z這個範圍類的字符出現2-5次(大於等於2,小於等於5)
(7)| 只能用在簡單內部類且不帶任何包裹的斷定添加上(能夠加括號)
/^abc|def$/; 知足abc開頭或者def結尾的均可以
6、正則實例
(1)匹配手機號 var reg = /^1[3458]\d{9}$/.
(2)匹配固定電話 var reg = /^(0\d{2}[\-]\d{8})|(0\d{3}[\-]\d{7})$/;
知足0開頭,中間兩位是0-9之間的數字,第三位是-(須要轉義字符轉義,不然即便[範圍鏈接符]),最後8位是0-9的數字
(3)匹配qq號 var reg = /^[1-9][0-9]{4,10}$/
(4)匹配郵箱(注意,特殊字符須要轉義)
var reg = /^[\w\-\.]+\@[\w]+\.[\w]{2,4}$/
參考資料: w3c 善知堂教育http://www.itszt.com/