知識**阮一峰老師的教程
doctype html
>
<
html
lang
="en"
>
<
head
>
<
meta
charset
="utf-8"
>
<
title
>title
title
>
head
>
<
body
>
body
>
<
script
>
//正則物件的屬性和方法
//正則物件的屬性分成兩類。
//一類是修飾符相關,返回乙個布林值,表示對應的修飾符是否設定。
//ignorecase:返回乙個布林值,表示是否設定了i修飾符,該屬性唯讀。
//global:返回乙個布林值,表示是否設定了g修飾符,該屬性唯讀。
//multiline:返回乙個布林值,表示是否設定了m修飾符,該屬性唯讀。
varr=/
abc/
igm;
console.log(r.ignorecase,r.global,r.multiline)
//true true true
//另一類是與修飾符無關的屬性,主要是下面兩個。
//lastindex:返回下一次開始搜尋的位置。該屬性可讀寫,但是只在設定了g修飾符時有意義。
//source:返回正規表示式的字串形式(不包括反斜槓),該屬性唯讀。
console.log(r.source);
//abc
////
方法://
test()
//正則物件的test方法返回乙個布林值,表示當前模式是否能匹配引數字串。
//var r = /x/g;
//var s = '_x_x';
////
r.lastindex = 4;
// false
//如果正則模式是乙個空字串,則匹配所有字串。
//new regexp('').test('abc')
//true
//如果正規表示式帶有g修飾符,則每一次test方法都從上一次結束的位置開始向後匹配。
//var r = /x/g;
//var s = '_x_x';
////
r.lastindex // 0
// true
////
r.lastindex // 2
// true
////
r.lastindex // 4
// false
//exec()
//正則物件的exec方法,可以返回匹配結果。如果發現匹配,就返回乙個陣列,成員是每乙個匹配成功的子字串,否則返回null。
//var reg=/ab/;
//var reg1=/bc/;
//var str="abcdef";
//如果正規表示式包含圓括號(即含有「組匹配」),則返回的陣列會包括多個成員。
//第乙個成員是整個匹配成功的結果,後面的成員就是圓括號對應的匹配成功的組。
//也就是說,第二個成員對應第乙個括號,第三個成員對應第二個括號,以此類推。
//整個陣列的length屬性等於組匹配的數量再加1。
//var s = '_x_x';
//var r = /_(x)/;
////
r.exec(s) // ["_x", "x"]
//exec方法的返回陣列還包含以下兩個屬性:
////
input:整個原字串。
//index:整個模式匹配成功的開始位置(從0開始計數)。
//var r = /a(b+)a/;
//var arr = r.exec('_abbba_aba_');
//arr // ["abbba", "bbb"]
////
arr.index // 1
// "_abbba_aba_"
//字串物件的方法
//match():返回乙個陣列,成員是所有匹配的子字串。
//search():按照給定的正規表示式進行搜尋,返回乙個整數,表示匹配開始的位置。
//replace():按照給定的正規表示式進行替換,返回替換後的字串。
//split():按照給定規則進行字串分割,返回乙個陣列,包含分割後的各個成員。
//macth方法
//var s = 'abba';
//var r = /a/g;
// ["a", "a"]
// ["a"]
//如果正規表示式帶有g修飾符,則該方法與正則物件的exec方法行為不同,會一次性返回所有匹配成功的結果。
//serch()方法
//var r=/\.x/;
//var str="pl.x";
//字串物件的search方法,返回第乙個滿足條件的匹配結果在整個字串中的位置。如果沒有任何匹配,則返回-1。
//replace()方法
//字串物件的replace方法可以替換匹配的值。它接受兩個引數,第乙個是搜尋模式,第二個是替換的內容。
//replace(s1,s2);
//'aaa'.replace('a', 'b') // "baa"
//'aaa'.replace(/a/, 'b') // "baa"
//'aaa'.replace(/a/g, 'b') // "bbb"
//replace方法的乙個應用,就是消除字串首尾兩端的空格。
//var str = ' #id div.class ';
////
console.log(str.replace(/^\s+|\s+$/g, ''))
//replace方法的第二個引數可以使用美元符號$,用來指代所替換的內容。
//$& 指代匹配的子字串。
//$` 指代匹配結果前面的文字。
//$' 指代匹配結果後面的文字。
//$n 指代匹配成功的第n組內容,n是從1開始的自然數。
//$$ 指代美元符號$。
//split()方法
//字串物件的split方法按照正則規則分割字串,返回乙個由分割後的各個部分組成的陣列。
//非正則分隔
//'a, b,c, d'.split(',')
//// [ 'a', ' b', 'c', ' d' ]
////
// 正則分隔,去除多餘的空格
//'a, b,c, d'.split(/, */)
//// [ 'a', 'b', 'c', 'd' ]
////
// 指定返回陣列的最大成員
//'a, b,c, d'.split(/, */, 2)
//[ 'a', 'b' ]
script
>
html
>
js 正規表示式(1)
正規表示式是前端面試中的高頻考點,但是正則又像一塊裹腳布一樣又臭又長。最近看一些部落格找到一些規律,分享在這裡。正則是匹配模式,要麼匹配字串,要麼匹配位置。1.長度不定 使用量詞 abc 表示在b在a和c 之間出現有2 5次不等。1.字元不定 使用字元組 123 ab 123 c 表示在b和之間可能...
js之正規表示式1
1.正則的作用,簡單來說主要是以下幾個 匹配,替換,搜尋,提取 2.正則的兩種建立形式 a perl風格,簡單快速,語法 var reg pattern flages 解釋 pattern是模式,就是你想要點匹配效果,flages是標誌組合 有三個值,g全文搜尋,i 忽略大小寫,m多行查詢。eg 想...
js數字正規表示式,js小數正規表示式
js數字正規表示式,js小數正規表示式 是否為數字 僅正數 包括正整數 正小數 0 param value returns function isnumber value 是否為所有數字 正數 負數 包括整數 小數 0 param value returns function isnumberall...