????:定義:正則用于規(guī)定在文本中檢索的內(nèi)容,它是對(duì)字符串執(zhí)行模式匹配的強(qiáng)大工具RegExp(正則表達(dá)式) 對(duì)象的語(yǔ)法: new RegExp(pattern, attributes); pattern為一個(gè)字符串或匹配規(guī)則 attributes為可選字符串,包含屬性g、i 和 m g:代表全局匹配 (繼續(xù)往下匹配) i:代表不區(qū)分大小寫(xiě)匹配 m:代表多行匹配,只對(duì)^和$模式有用定義正則
定義:正則用于規(guī)定在文本中檢索的內(nèi)容,它是對(duì)字符串執(zhí)行模式匹配的強(qiáng)大工具
RegExp(正則表達(dá)式) 對(duì)象的語(yǔ)法: new RegExp(pattern, attributes);
pattern為一個(gè)字符串或匹配規(guī)則 attributes為可選字符串,包含屬性g、i 和 m
g:代表全局匹配 (繼續(xù)往下匹配)
i:代表不區(qū)分大小寫(xiě)匹配
m:代表多行匹配,只對(duì)^和$模式有用
定義正則表達(dá)式有兩種形式:
構(gòu)造函數(shù)方式: new RegExp(pattern, attributes);
例:var reg=new RegExp(“abc","g"); 構(gòu)造函數(shù)中的正則可以是常量字符串或一個(gè)js變量
普通方式:/pattern/attributes(/正則/屬性)
例:var reg=/abc/g; 普通方式中的正則必須是一個(gè)常量字符串
每個(gè)正則表達(dá)式都有一個(gè) lastIndex 屬性,用于記錄上一次匹配結(jié)束的位置(索引值)。
獲取 reg.lastIndex
設(shè)置 reg.lastIndex=0;
示例: var str=‘a(chǎn)bcdeabfg’;
var reg=new RegExp(‘a(chǎn)b’,‘g’);
alert(reg.test(str));//true
alert(reg.lastIndex);//2
元字符:
\d : 匹配任意一個(gè)數(shù)字,0~9 中的任意一個(gè)
\s : 匹配任意一個(gè)空白字符
\b : 匹配一個(gè)單詞邊界,不匹配任何字符
\w : 匹配任意一個(gè)字符( 字母、 數(shù)字、下劃線 )
. : 匹配任意一個(gè)字符,除了換行符( \n )
\n : 查找換行符
\u : 通常用來(lái)匹配漢字
表達(dá)式 "\d","\s","\b","\w",對(duì)應(yīng)的大寫(xiě)字母表示相反的意義
如:\D 匹配所有的非數(shù)字字符;
方括號(hào)的使用:
[abc] : 查找方括號(hào)之間的任何字符。
[^abc] : 查找任何不在方括號(hào)之間的字符。
[0-9] : 查找任何從 0 至 9 的數(shù)字。
[a-z] : 查找任何從小寫(xiě) a 到小寫(xiě) z 的字符。
[A-Z] : 查找任何從大寫(xiě) A 到大寫(xiě) Z的字符。
量詞的使用:
n+ : 匹配任何包含至少一個(gè) n 的字符串。
n? : 匹配任何包含零個(gè)或一個(gè) n 的字符串。
n* : 匹配任何包含零個(gè)或多個(gè) n 的字符串。
n{X} : 匹配包含 X 個(gè) n 的序列的字符串。
n{X,Y} : 匹配包含 X 到Y(jié) 個(gè) n 的序列的字符串。
^n : 匹配任何開(kāi)頭為 n 的字符串。
n$ : 匹配任何結(jié)尾為 n 的字符串。
其他相關(guān)
| : 匹配左邊或者右邊
\ : 轉(zhuǎn)義符 特殊標(biāo)點(diǎn)符號(hào),在前面加 \ 后,就代表該符號(hào)本身
^ 要匹配 "^" 字符本身,請(qǐng)使用 \^ ( ) 要匹配小括號(hào)本身,請(qǐng)使用 \( 和 \)
RegExp 對(duì)象的方法
test:檢索字符串中指定的值 返回 true 或 false reg.test(str);
exec: 檢索字符串返回查找結(jié)果的第一個(gè)值 reg.exec(str);
compile: 該方法可以重編輯指定的正則表達(dá)式
var reg=new RegExp("13[4-9](\\d){8}","g"); //重新編輯正則表達(dá)式 reg.compile("13[0-3](\\d){8}","g");
String 對(duì)象方法
search:檢索與正則表達(dá)式相匹配的值
用法:str.search(reg); (返回索引值,無(wú)-1)
match:返回所有正則表達(dá)式的匹配(加g)
用法:str.match(reg); (返回?cái)?shù)組)
replace:替換與正則表達(dá)式匹配的子串
用法:str.replace(reg,"");
split:將字符串匹配的部分做分割(去除)
用法:str.split(reg); (返回?cái)?shù)組)