js 正則匹配key值 js 正則匹配 小結

2021-10-17 05:48:36 字數 3372 閱讀 6221

js的正規表示式

rge.test(str) 檢驗目標物件中是否包含匹配模式,並相應的返回true或false   rge.source

str.search(rge) 將返回乙個整數值,指明這個匹配距離字串開始的偏移位置。如果沒有找到匹配,則返回 -1

str.replace(re, function(){}) 替換匹配到的數值

rge.exec(str) 沒有找到匹配,則它返回 null。如果它找到匹配,則 exec 方法返回乙個數

str.match(rge) 用正規表示式模式在字串中執行查詢,並返回包含該查詢結果的乙個陣列(全文匹配模式g,否則只返回第

乙個匹配的內容)

match 方法沒有找到匹配,返回 null。如果找到匹配返回乙個陣列並且更新全域性 regexp 物件的屬性以反映匹配結果

input 屬性包含整個的被查詢字串。

index 屬性包含了在整個被查詢字串中匹配的子字串的位置。

lastindex

屬性包含了最後一次匹配中最後乙個字元的下乙個位置。

function

regexptest()

var ver = number(scriptenginemajorversion() + "."

scriptengineminorversion())

if (ver >= 5.5)

n\s:用於匹配單個空格符,包括tab鍵和換行符;

\s:用於匹配除單個空格符之外的所有字元;

\d:用於匹配從0到9的數字;[0-9]

\d:用於匹配從0到9的數字;[^0-9]

\w:用於匹配字母,數字或下劃線字元;'[a-za-z0-9_]'

\w:用於匹配所有與\w不匹配的字元;'[^a-za-z0-9_]'

:用於匹配除換行符之外的所有字元。

\cx 匹配由x指明的控制字元。例如, \cm 匹配乙個 control-m 或回車符。 x

的值必須為 a-z 或 a-z 之一。否

則,將 c 視為乙個原義的 'c'

字元。\f 匹配乙個換頁符。等價於 \x0c 和

\cl。

\n 匹配乙個換行符。等價於 \x0a 和

\cj。

\r 匹配乙個回車符。等價於 \x0d 和

\cm。

\s 匹配任何空白字元,包括空格、製表符、換頁符等等。等價於 [

\f\n\r\t\v]。

\s 匹配任何非空白字元。等價於 [^

\f\n\r\t\v]。

\t 匹配乙個製表符。等價於 \x09 和

\ci。

\v 匹配乙個垂直製表符。等價於 \x0b 和 \ck。

定位符:規定匹配模式在目標物件中的出現位置。 較為常用的定位符包括: 「^」, 「$」, 「\b」 以及

「\b」。

「^」定位符規定匹配模式必須出現在目標字串的開頭

「$」定位符規定匹配模式必須出現在目標物件的結尾

「\b」定位符規定匹配模式必須出現在目標字串的開頭或結尾的兩個邊界之一

「\b」定位符則規定匹配物件必須位於目標字串的開頭和結尾兩個邊界之內,

為了能夠方便使用者更加靈活的設定匹配模式,正規表示式允許使用者在匹配模式中指定某乙個範圍而不侷限於具體的字元。

例如:/([a-z][a-z][0-9])+/ 上述正規表示式將會與任何由字母和數字組成的字串,如 「ab0」

等相匹配。

「|」。例如:/to|too|2/ 上述正規表示式將會與目標物件中的 「to」, 「too」, 或 「2」 相匹配。

否定符 「[^]」。與我們前文所介紹的定位符 「^」

不同,否定符 「[^]」規定目標物件中不能存在模式中所規

定的字串。

當「^」出現在

「」內時就被視做否定運算子;而當「^」位於「」之外,或沒有「」時,則應當被視做定位符。

? 當該字元緊跟在任何乙個其他限制符 (*, +, ?,

, , )

後面時,匹配模式是非貪婪的。非貪婪模   式

盡可能少的匹配所搜尋的字串,而預設的貪婪模式則盡可能多的匹配所搜尋的字串。例如,對於字串

"oooo",'o+?' 將匹配單個 "o",而 'o+' 將匹配所有

'o'。

. 匹配除 "\n" 之外的任何單個字元。要匹配包括

'\n' 在內的任何字元,請使用象 '[.\n]' 的模式。

優先順序如下:

1.\ 轉義符

2.(), (?:), (?=),

圓括號和方括號

3.*, +, ?, , ,

限定符4.^, $, \anymetacharacter

位置和順序

5.|「或」操作

正規表示式

"^\\d+$"  //非負整數(正整數 + 0)

"^[0-9]*[1-9][0-9]*$"  //正整數

"^((-\\d+)|(0+))$"  //非正整數(負整數 +

0)"^-[0-9]*[1-9][0-9]*$"  //負整數

"^-?\\d+$"    //整數

"^\\d+(\\.\\d+)?$"  //非負浮點數(正浮點數 +

0)"^(([0-9]+\\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\\.[0-9]+)|([0-9]*[1-9][0-9]*))$"

//正浮點數

"^((-\\d+(\\.\\d+)?)|(0+(\\.0+)?))$"  //非正浮點數(負浮點數

+ 0)

"^(-(([0-9]+\\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\\.[0-9]+)|([0-9]*[1-9][0-9]*)))$"//負浮點數

"^(-?\\d+)(\\.\\d+)?$"  //浮點數

"^[a-za-z]+$"  //由26個英文本母組成的字串

"^[a-z]+$"  //由26個英文本母的大寫組成的字串

"^[a-z]+$"  //由26個英文本母的小寫組成的字串

"^[a-za-z0-9]+$"  //由數字和26個英文本母組成的字串

"^\\w+$"  //由數字、26個英文本母或者下劃線組成的字串

"^[\\w-]+(\\.[\\w-]+)*@[\\w-]+(\\.[\\w-]+)+$"    //email位址

"^[a-za-z]+://(\\w+(-\\w+)*)(\\.(\\w+(-\\w+)*))*(\\?\\s*)?$"  //url

"^[a-za-z0-9_]*$"

/^\[ \t]*$/ "^\[ \t]*$"

匹配乙個空白行。

/\d-\d/ "\d-\d" 驗證乙個id

號碼是否由乙個2位數字,乙個連字元以及乙個5位數字組成。

匹配乙個 html 標記。

js 正則匹配

isnumber 是否為數字 regexps.isnumber d d isint 是否為整形 regexps.isint d istime 是否為時間格式 regexps.istime d d d s d d d isdate 是否為日期格式 regexps.isdate d d d isemai...

js正則匹配

var childnodename childnodename val 自定義name只能輸入數字 字母或漢字 if childnodename var regex1 a za z a za z0 9 字母數字,字母開頭 var regex3 a za z0 9 字母數字下劃線 var regex4...

js正則匹配

與大多數程式語言相同,正規表示式裡使用 作為轉義字元,這就可能造成反斜槓困擾。假如你需要匹配文字中的字元 那麼使用程式語言表示的正規表示式裡將需要4個反斜槓 第乙個和第三個用於在程式語言裡將第二個和第四個轉義成反斜槓,轉換成兩個反斜槓 後再在正規表示式裡轉義成乙個反斜槓用來匹配反斜槓 這樣顯然是非常...