regexp 物件表示正規表示式,它是對字串執行模式匹配的強大工具。
/pattern/attributes
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 引數,丟擲該異常。
修飾符 描述
i 執行對大小寫不敏感的匹配。
g 執行全域性匹配(查詢所有匹配而非在找到第乙個匹配後停止)。
m 執行多行匹配。
方括號用於查詢某個範圍內的字元:
表示式 描述
[abc] 查詢方括號之間的任何字元。
[^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 的字串。
屬性 描述 ff ie
global regexp 物件是否具有標誌 g。 1 4
ignorecase regexp 物件是否具有標誌 i。 1 4
lastindex 乙個整數,標示開始下一次匹配的字元位置。 1 4
multiline regexp 物件是否具有標誌 m。 1 4
source 正規表示式的源文字。 1 4
方法 描述 ff ie
compile 編譯正規表示式。 1 4
exec 檢索字串中指定的值。返回找到的值,並確定其位置。 1 4
test 檢索字串中指定的值。返回 true 或 false。 1 4
方法 描述 ff ie
search 檢索與正規表示式相匹配的值。 1 4
match 找到乙個或多個正規表示式的匹配。 1 4
replace 替換與正規表示式匹配的子串。 1 4
split 把字串分割為字串陣列。 1 4
( 1 ) replace正則匹配方法
去除字串內所有的空格:str = str.replace(/s*/g,"");
去除字串內兩頭的空格:str = str.replace(/^s|s$/g,"");
去除字串內左側的空格:str = str.replace(/^s*/,"");
去除字串內右側的空格:str = str.replace(/(s*$)/g,"");
示例:
var str = " 6 6 ";
var str_1 = str.replace(/\s*/g,"");
console.log(str_1); //66
var str = " 6 6 ";
var str_1 = str.replace(/^\s*|\s*$/g,"");
console.log(str_1); //6 6//輸出左右側均無空格
var str = " 6 6 ";
var str_1 = str.replace(/^\s*/,"");
console.log(str_1); //6 6 //輸出右側有空格左側無空格
var str = " 6 6 ";
var str_1 = str.replace(/(\s*$)/g,"");
console.log(str_1); // 6 6//輸出左側有空格右側無空格
( 2 ) str.trim()方法
trim()方法是用來刪除字串兩端的空白字元並返回,trim方法並不影響原來的字串本身,它返回的是乙個新的字串。
缺陷:只能去除字串兩端的空格,不能去除中間的空格
示例:
var str = " 6 6 ";
var str_1 = str.trim();
console.log(str_1); //6 6//輸出左右側均無空格
單獨去除左側空格則使用 str.trimleft(); //var str_1 = str.trimleft();
單獨去除右側空格則使用 str.trimright();//var str_1 = str.trimright();
( 3 ) jq方法:$.trim(str)方法
$.trim() 函式用於去除字串兩端的空白字元。
注意:$.trim()函式會移除字串開始和末尾處的所有換行符,空格(包括連續的空格)和製表符。如果這些空白字元在字串中間時,它們將被保留,不會被移除。
示例:
var str = " 6 6 ";
var str_1 = $.trim(str);
console.log(str_1); //6 6//輸出左右側均無空格
replace()方法
regexp廖雪峰
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...