js正規表示式及練習(超詳細)

2021-10-14 23:00:58 字數 4301 閱讀 6627

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)

;

官方

[email protected]

任意字母數字下劃線 . 任意字母數字下劃線 @ 字母數字 . 字母位 .字母

\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.座標移動問題.題目意思 合法座標...