2.匹配規則
3.匹配方法
4.練習
//建立正規表示式物件
var re =
newregexp
("正規表示式"
,"匹配模式");
//可以傳遞第二個引數:匹配模式
i:忽略大小寫,
g:全域性匹配模式
m:多行匹配
test()
-使用這個方法可以用來檢查乙個字串是否符合正規表示式的規則,
如果符合則返回true,
否則返回false
//用來檢查字串中是否含有a
var reg2 =
newregexp
("a"
,"i");
console.
log(reg2.
test
("asssshjk"))
;
//使用字面量建立正規表示式
//var reg3 = /正規表示式/匹配模式
var reg4 =
/a/i
使用字面量的方式建立更加簡單
使用建構函式建立更加靈活
*
1.| 表示或
*2.[
] 中括號裡也是或的關係 [ab]
== a|b;*3.
[a-z] 任意小寫字母
*4.[
a-z] 任意字母
*5.[
^] 除了**
*以外 *6.[
0-9] 任意數字
*7.. 查詢單個字元,除了換行和行結束符
**8. \w 任意字母數字下劃線
*9. \w 除了字母數字下劃線
*10. \d [0-
9]*11. \d[^
0-9]
*12. \s 空格
*13. \s 除了空格
**14. \b 單詞邊界
*15. \b 除了單詞邊界
***1./ab
/:出現一次到三次
*2./ab
/:出現三次
*3./
(ab)
/:ab一起出現三次
*4./
/:出現m次以上.
// :出現m次以上*5.
+:至少乙個
*6.*
:0個或多個
*7.?
:0個或乙個
*8.^
:以**
*開頭,他和[
]裡的^不一樣
*9. $ :以**
*結尾 *
* 查詢.和/的話需要/進行轉義
*
//匹配abc|adc|aec
var reg =
/a[bde]c/i
;//[^ab]
console.
log(reg.
test
("abc"))
;//-->true 除了ab以外還有c
1.
match()
2.search()
3.replace()
4.split
()
1.
match()
-可以根據正規表示式,從乙個字串中將符合條件的內容提取出來
-預設情況下我們的match只會找到第乙個符合要求的內容,找到以後就停止檢索
我們可以設定正規表示式為全域性匹配模式,這樣就會匹配到所有的內容
他會將結果封裝到乙個陣列裡面
var str3 =
"abcd125efgh1ijk4561lmnopqrst145uvwxyz"
;var res3 = str3.
match
(/[a-z]/gi);
console.
log(res3)
;//可以為乙個正規表示式設定多個匹配模式
2.
search()
*-搜尋字串中是否含有「**
*」 *
-與split
()相同的是他可以傳乙個正規表示式進去
*search()
:不能全域性匹配,哪怕你指定全域性匹配,依然沒什麼卵用,他只匹配第乙個
var str2 =
"abc def ghi jjk"
;var res2 = str2.
search
(/g[hjkl]i/);
console.
log(res2)
;//搜尋到會返回索引,沒有搜尋到會返回-1
3.
replace()
-可以將字串中指定內容替換為新的內容
-引數:
1.被替換的內容
2.新的內容
4.
split()
-可以將乙個字串拆分為乙個陣列
-方法中可以傳遞乙個正規表示式作為引數,這樣方法將會根據正規表示式去拆分字串
var str =
"1a2b3c4d5e6f7"
;var res = str.
split
(/[a-z]/i);
console.
log(res)
;
/**
* 量詞:
* {} :表示剛好出現幾次
* 量詞只對他前面的乙個內容起作用*/
var reg5 =
/^a$/
; console.
log(reg5.
test
("aaa"))
;//false
console.
log(reg5.
test
("a"))
;//true
//注意轉義字元
var reg7 =
/\//ig
; console.
log(
"***"
+reg7.
test
("/"))
;
//小練習:識別手機號
var reg6 =
/^1[34578][0-9]$/
var num =
13456524623
; console.
log(reg6.
test
(num)
)//必須加上以**開頭和結尾,不然可能位數不對,或者手機號碼在中間包含的
//匹配單詞child
//注意單詞邊界
var regg =
/\bchild\b/
; console.
log(regg.
test
("hello child"))
;
//練習:去掉字串中的空格
var str =
" hell oo i "
;//匹配開頭空格
str = str.
replace
(/^\s*/,""
);//匹配結尾空格
str = str.
replace
(/\s*$/,""
);//那整合到一起呢
str = str.
replace
(/^\s*|\s*$/g,""
);console.
log(str)
;
官方
任意字母數字下劃線 . 任意字母數字下劃線 @ 字母數字 . 字母位 .字母
\w(\.\w+
)* @ [
a-z0-9]
+(\.[a
-z])
//後面的可以出現一到兩次
var regt2 =
/^\w(\.\w+)*@[a-z0-9]+(\.[a-z])$/gi
; console.
log(regt2.
test
("[email protected]"))
;
js 正規表示式練習
作用 驗證字串 查詢字串 擷取字串 替換字串 regexp物件 exec 檢索指定值,返回陣列 test 檢索指定值,返回布林值 string search 檢索指定值,返回下標 match 檢索指定值,返回陣列 replace 替換指定值,返回陣列 split 分割字串,返回陣列 qq號 條件 5...
JS 正規表示式練習
d d d test 123 true new regexp d d d test 123 true regexp d d d test 123 true 表示任意字元 除換行等控制字元外 d表示數字 w表示數字 字母或下劃線 s表示空格 tab 換行符 換頁符 s表示非 s w w w test ...
正規表示式及練習
正規表示式.0 多次.1 多次.0 1次.d 匹配乙個 數字字元,等價於 0 9 d 匹配乙個 非數字字元,等價於 0 9 f 匹配乙個 換頁符,等價於 x0c 和 cl.n 匹配乙個 換行符,等價於 x0a 和 cj.r 匹配乙個 回車符.等價於 x0d 和 cm.座標移動問題.題目意思 合法座標...