正規表示式一些相關方法

2021-10-02 02:27:23 字數 2969 閱讀 2168

正規表示式就是一組規則的字串, 通常用一些特定的字元寫一套規則 用來檢索、替換符合某個規則的文字。

如何建立正規表示式?

var reg = new regexp();

或var reg = /…/;

js中和正則相關的方法

1、test方法:用來測試字串是否符合正規表示式的規則,符合就返回true,不符合返回false。

例1:

//  var reg = new regexp("aa")的簡寫

var reg =

/aa/i

;// i表示忽略大小寫

// 用正則去匹配

console.

log(reg.

test

("aa"))

;// 返回true

console.

log(reg.

test

("aa"))

;// 返回true

例2:

//	判斷乙個字串是否有數字

var str =

"123ddjj456"

;// \d表示數字

var reg2 =

/\d/;if

(reg2.

test

(str)

)else

例3:

//	判斷乙個字串是否全為數字

var str2 =

"123456"

;// \d表示非數字

var reg3 =

/\d/;if

(reg3.

test

(str2)

)else

2、search方法:正則匹配子字串是否在字串中,匹配上就返回具體位置,沒匹配上返回-1。

例:

//  查詢a+數字(數字的個數大於等於1)這種字串是否存在於總字串中

var reg =

/a\d+/

;// +表示重複一次或者多次

var str =

"ahgda123dfg"

;var str2 =

"a1hga456"

;alert

(str.

search

(reg));

//返回4

alert

(str2.

search

(reg));

//返回0

search和indexof區別:

​ ① search可以接收正規表示式,去搜尋匹配一些特殊的字元。返回符合規則的字串的位置,沒有則返回-1。

​ ② indexof通常只能給乙個固定的字串,但效率要高一些。

3、match方法:正則匹配字串,匹配成功返回匹配上的陣列,匹配失敗就返回null。

例:

var str =

"123sss456ddd"

;var reg =

/\d/g

;// g表示全域性匹配

var res = str.

match

(reg)

;// 用res儲存匹配結果

console.

log(res)

;

4、replace方法:正則匹配字串,匹配成功的字串會被新的字串替換掉。

例1:

var str =

"你是豬嗎?"

;var str2 = str.

replace

("豬"

,"人");

//str不會被改變,只是返回了乙個新的字串

console.

log(str2)

;//把數字替換成***

var str3 =

"123ert78dsfg"

;var reg =

/\d/g

;var res = str3.

replace

(reg,

"*")

; console.

log(res)

;//把每個數字加上1

var str4 =

"123456"

;var reg2 =

/\d/g

;//replace第二個引數可以是乙個函式,函式執行完有乙個結果,拿這個結果去替換

var res2 = str4.

replace

(reg2,

function

(s))

; console.

log(res2)

;// 輸出234567

結果:

/**

* 思路:

* 1 找出敏感詞

* 2 替換成***

*/var otext1 = document.

getelementbyid

('text1');

var otext2 = document.

getelementbyid

('text2');

var obtn = document.

getelementbyid

('btn');

obtn.

onclick

=function()

return result;})

; otext2.value = res;

}

結果如下:

一些正規表示式

要嚴格的驗證手機號碼,必須先要清楚現在已經開放了哪些數字開頭的號碼段,目前國內號碼段分配如下 移動 134 135 136 137 138 139 150 151 157 td 158 159 187 188 聯通 130 131 132 152 155 156 185 186 電信 133 153...

一些正規表示式

判斷是否是正整數if isnan paramvalue paramvalue 0 else 金額的格式判斷輸入金額的要求 整數字最多十位,小數為最多為兩位,可以無小數字 0 9 1 9 0 9 0 9 function checkmoney str 0 9 if re.test str else 手...

一些正規表示式

記錄一下 以防忘記 string hello 123 4567 world this is a regsssss res re.match w s d s d s w string 匹配到 hello 123 4567 world this 其中 代表乙個字串的開始 代表乙個字串的結尾 w 匹配字母...