JavaScript正規表示式

2021-08-21 10:47:52 字數 2890 閱讀 1933

regexp 物件表示正規表示式,它是對字串執行模式匹配的強大工具。

直接量語法

/pattern/attributes

建立 regexp 物件的語法:

new regexp(pattern, attributes);

引數

引數 pattern 是乙個字串,指定了正規表示式的模式或其他正規表示式。

引數 attributes 是乙個可選的字串,包含屬性 "g"、"i" 和 "m",分別用於指定全域性匹配、區分大小寫的匹配和多行匹配。ecmascript 標準化之前,不支援 m 屬性。如果 pattern 是正規表示式,而不是字串,則必須省略該引數。

返回值

乙個新的 regexp 物件,具有指定的模式和標誌。如果引數 pattern 是正規表示式而不是字串,那麼 regexp() 建構函式將用與指定的 regexp 相同的模式和標誌建立乙個新的 regexp 物件。

如果不用 new 運算子,而將 regexp() 作為函式呼叫,那麼它的行為與用 new 運算子呼叫時一樣,只是當 pattern 是正規表示式時,它只返回 pattern,而不再建立乙個新的 regexp 物件。

丟擲syntaxerror- 如果 pattern 不是合法的正規表示式,或 attributes 含有 "g"、"i" 和 "m" 之外的字元,丟擲該異常。

typeerror- 如果 pattern 是 regexp 物件,但沒有省略 attributes 引數,丟擲該異常。

修飾符 attributes

i 執行對大小寫不敏感的匹配。

g 執行全域性匹配(查詢所有匹配而非在找到第乙個匹配後停止)。

m 執行多行匹配。

方括號

方括號用於查詢某個範圍內的字元:

表示式描述

[^abc] 	查詢任何不在方括號之間的字元。

[0-9] 查詢任何從 0 至 9 的數字。

[a-z] 查詢任何從小寫 a 到小寫 z 的字元。

[a-z] 查詢任何從大寫 a 到大寫 z 的字元。

[a-z] 查詢任何從大寫 a 到小寫 z 的字元。

[adgk] 查詢給定集合內的任何字元。

[^adgk] 查詢給定集合外的任何字元。

(red|blue|green) 查詢任何指定的選項。

元字元

元字元(metacharacter)是擁有特殊含義的字元:

元字元 描述

. 	查詢單個字元,除了換行和行結束符。

\w 查詢單詞字元。

\w 查詢非單詞字元。

\d 查詢數字。

\d 查詢非數字字元。

\s 查詢空白字元。

\s 查詢非空白字元。

\b 匹配單詞邊界。

\b 匹配非單詞邊界。

\0 查詢 nul 字元。

\n 查詢換行符。

\f 查詢換頁符。

\r 查詢回車符。

\t 查詢製表符。

\v 查詢垂直製表符。

\*** 查詢以八進位制數 *** 規定的字元。

\xdd 查詢以十六進製制數 dd 規定的字元。

\u***x 查詢以十六進製制數 ***x 規定的 unicode 字元。

量詞

量詞 描述

n+ 	匹配任何包含至少乙個 n 的字串。

n* 匹配任何包含零個或多個 n 的字串。

n? 匹配任何包含零個或乙個 n 的字串。

n 匹配包含 x 個 n 的序列的字串。

n 匹配包含 x 至 y 個 n 的序列的字串。

n 匹配包含至少 x 個 n 的序列的字串。

n$ 匹配任何結尾為 n 的字串。

^n 匹配任何開頭為 n 的字串。

?=n 匹配任何其後緊接指定字串 n 的字串。

?!n 匹配任何其後沒有緊接指定字串 n 的字串。

regexp 物件屬性

屬性 描述

global regexp 物件是否具有標誌 g。

ignorecase regexp 物件是否具有標誌 i。

lastindex 乙個整數,標示開始下一次匹配的字元位置。

multiline regexp 物件是否具有標誌 m。

source 正規表示式的源文字。

regexp 物件方法

方法 描述

compile 編譯正規表示式。

exec 檢索字串中指定的值。返回找到的值,並確定其位置。

test 檢索字串中指定的值。返回 true 或 false。

支援正規表示式的 string 物件的方法

方法 描述

search 檢索與正規表示式相匹配的值。

match 找到乙個或多個正規表示式的匹配。

replace 替換與正規表示式匹配的子串。

split 把字串分割為字串陣列。

test()方法用於檢測值是否匹配正規表示式

例:

/^1[34578]\d$/.test("15236994633")
/^1[34578]\d$/用於匹配手機號 ,返回foolean

Javascript正規表示式

這段時間學習js,正好遇到了正規表示式。下面通過使用例項介紹一下正規表示式。正規表示式,又稱正規表示法 常規表示法 英語 regular expression,在 中常簡寫為regex regexp或re 電腦科學的乙個概念。正規表示式使用單個字串來描述 匹配一系列符合某個句法規則的字串。在很多文字...

JavaScript 正規表示式

一 什麼是正規表示式 正規表示式 regular expression 是乙個描述字元模式的物件。測試正規表示式 regexp 物件包含兩個方法 test 和exec 功能基本相似,用於測試字串匹配。test 方法在字串中查詢是否存在指定的正規表示式並返回布林值,如果存在則返回true,不存 在則返...

javascript 正規表示式

正規表示式 regexp物件 主要用於表單驗證 1 建立正規表示式 1 var ret pattern pattern是內容,可以是正規表示式的內容,可以是字元或是其他的內容 2 var rag new regexp pattern 括號內可以是雙引號或者單引號 2 正規表示式的exec方法 reg...