js 正規表示式

2021-10-09 18:32:53 字數 1884 閱讀 2436

正則:

描述字元模式的物件

建立(兩種方式有區別):

字面量:var reg=/\d/

例項建立:var reg=new regexp('')

區別字面量,//間不能加變數,例項建立中可以,類似字串拼接

字面量中可以直接寫\d,例項中需要轉義\\d

每個正規表示式都是有元字元和修飾符組成的

元字元:在//之間具有意義的一些字元

1 具有特殊意義的元字元

\:轉義字元,,轉義後面字元所代表的含義

^:以某乙個元字元開始(不佔位置) reg=/^\d$/ ->只能是0-9之間的數字

$:以某乙個元字元結尾(不佔位置)

\n:匹配乙個換行符

.:除了\n以外的任意字元

():分組 ->把乙個大的正則劃分成幾個小的正則

1 改變優先順序

2 分組引用

\2代表的是與第二個分組一模一樣的內容;\1代表的是與第乙個分組一模一樣的內容

var reg=/^(\w)\1(\w)\2$/

3 分組捕獲

大正則+小分組同時捕獲

?:在分組中,?:的意思是只匹配不捕獲

x|y:x或者y中的乙個

[xyz]:x或者y或者z

[^xyz]:除了三個以外的任一字元

[a-z]:a-z之間的任意乙個字元

[^a-z]:除了a-z之間的任意乙個字元

1 在中括號**現的所有字元都是本身的意思

2 中括號不識別兩位數

\d:乙個0-9之間的數字 \d:除了0-9之間的數字以外的任何字元

\b:乙個邊界符"w1 w2 w3"

\w:數字、字母、下劃線中的任意乙個字元 [0-9a-za-z_]

\s:匹配乙個空白字元 空格 製表符 換頁符...

2 代表出現多次的量詞元字元

*:至少出現零次

+:至少出現一次

?:出現零或者一次

:出現n次

:至少出現n次

:出現n到m次

修飾符:

g(global):全域性匹配

i(ignorecase):忽略大小寫匹配

m(multiline):多行匹配

簡單手機驗證:var reg=/^1\d$/

0開頭,2結尾,中間可以是除了\n的任意字元:var reg=/^0.2$/

0.2:reg=/^0\.2$/

就是乙個規則,用來處理字串的規則

1 匹配。判斷乙個字串是夠符合我們制定的規則->test reg.test(str)

2 捕獲。獲取字串中符合正則規則的內容->exec reg.exec(str)

1 捕獲的內容是乙個陣列,且內容放在陣列的第一位

2 懶惰性

3 貪婪性

特點:1 懶惰性(第二次查詢時仍然從頭開始)

解決:全域性查詢g,會改變lastindex的值

2 貪婪性(每一次捕獲都按照匹配最長的結果鋪貨)

解決:在量詞元字元後面新增乙個?即可

?在正則中的作用

1 放在普通的元字元後面 表示出現零次或者一次

2 放在量詞元字元後面 表示取消捕獲時候的貪婪性

方法:test:reg.test(str)

exec:reg.exec(str)

字串的match方法:把所有和正則匹配的字元都獲取到->str.match(reg)(分組的話match就獲取不準確)

字串的replace方法:把原有的字元替換成新的字元,

在不使用正則的情況下,每當執行一次只能替換乙個字元,並且下次繼續從頭開始

str.replace('a','b')

str.replace('/a/g','b')

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...