1.正規表示式是一種模式,用來匹配符合這種模式的字串。可以用來尋找或者替換文字。
2.正規表示式的基本模式:/正規表示式主體/修飾符(可選)
1.通過字面量來建立:/ /
2.通過建構函式:new regexp(/ /)
1.特殊字元:
.
: 匹配除了換行符\n
的所有字元的乙個字元
[...]
:匹配...
其中乙個字元
[^...]
:匹配除了...
的乙個字元
...?
: 匹配...
0次或一次。
...*
:匹配...
字元0次或者多次
...+
:匹配...
的乙個或若干個
...
:匹配...
重複次量在n
和m
之間包含n
和m
的字串
^...
:匹配以...
開頭的字元
...$
:匹配以...
結束的字元
[a-z][a-z][0-9][a-za-z0-9]
:匹配區間裡的乙個字元
()
:用於分組,將括號內的模式看成乙個整體
\number(\1,\2...)
:用於分組的匹配,需要注意的使用\1
,\2...
的元素會和分組匹配出的元素內容一模一樣,不是模式一樣。
|
:匹配兩者的其中乙個
\
:轉義字元,所有特殊字元如果要表示原本的字元都要在前面加轉義字元
\w
:任意的單字字元,等價於[a-za-z0-9]
\w
:任意的非單字字元,等價於[^a-za-z0-9]
\d
:任意的數字字元,等價於[0-9]
\d
:任意的非數字字元,等價於[^0-9]
2.修飾符:
1.g
: 全域性匹配,返回匹配到的所有元素,若不新增,只匹配第乙個。
2.i
:表示不區分大小寫
3.m
:表示多行匹配
4.s
:使特殊字元.
匹配包括\n
1.正則物件有自己的例項方法,也常配合字串例項的方法。
2.正則物件方法:
(1)reg.test(str)
:用於檢測字串是否包含正則匹配模式,若包含則返回true
。如要測試整個字串是否符合,可以加上^
和$
字元。
(2)reg.exec(str)
index
屬性宣告的是匹配文字的第乙個字元的位置。
input
屬性則存放的是被檢索的字串string
。
(3)reg.compile(/regexp/)
:重新生成正規表示式模式。
3.字串方法:
(1)str.search(reg|str)
:該方法用於找出正則匹配正規表示式的字串,並且返回第乙個找到的索引。
(2)str.match(reg|str)
:該方法用於找出匹配的字串元素,並且以陣列形式返回,和exec
類似,不過exec
返回的是類陣列,當正規表示式式全域性模式時返回所有元素組成的陣列,若非全域性模式則返回第乙個匹配元素的陣列,若未找到則返回null
。
(3)str.replace(reg,str)
: 該方法用於找出匹配的字串元素,並且使用新元素替換,當正規表示式為全域性模式時則替換所有匹配的元素,若非全域性模式則替換第乙個匹配元素的陣列。
1.當我們要是表示式裡包含動態引數時,字面量是達不到要求的。
2.我們可以使用建構函式來實現,對傳入的引數進行拼接即可。如下在v
變化時,都可以生成相應的正規表示式。
3.在字串中需要對含有特殊含義的\
使用\
進行轉義
let v =
'變數'
let r =
newregexp
('^'
+v +
'1$'
)let r1 =
newregexp
('^\\d'
+v +
'1$'
)
js數字正規表示式,js小數正規表示式
js數字正規表示式,js小數正規表示式 是否為數字 僅正數 包括正整數 正小數 0 param value returns function isnumber value 是否為所有數字 正數 負數 包括整數 小數 0 param value returns function isnumberall...
JS 正規表示式
驗證數字的正規表示式集 驗證數字 0 9 驗證n位的數字 d 驗證至少n位數字 d 驗證m n位的數字 d 驗證零和非零開頭的數字 0 1 9 0 9 驗證有兩位小數的正實數 0 9 0 9 驗證有1 3位小數的正實數 0 9 0 9 驗證非零的正整數 1 9 0 9 驗證非零的負整數 1 9 0 ...
js正規表示式
用正規表示式模式在字串中執行查詢,並返回包含該查詢結果的乙個陣列。rgexp.exec str 引數rgexp 必選項。包含正規表示式模式和可用標誌的正規表示式物件。str 必選項。要在其中執行查詢的string物件或字串文字。說明如果exec方法沒有找到匹配,則它返回null。如果它找到匹配,則e...