js正則表達(dá)式之$1$2$3$4$5$6$7$8$9屬性,返回子匹配的結(jié)果
更新時(shí)間:2012年10月12日 13:58:36 作者:
$1-$9存放著正則表達(dá)式中最近的9個(gè)正則表達(dá)式的匹配結(jié)果,這些結(jié)果按照子匹配的出現(xiàn)順序依次排列
功能:$1-$9存放著正則表達(dá)式中最近的9個(gè)正則表達(dá)式的匹配結(jié)果,這些結(jié)果按照子匹配的出現(xiàn)順序依次排列。
基本語(yǔ)法RegExp.$n
注意:這些屬性是靜態(tài)的,除了replace中的第二個(gè)參數(shù)可以省略RegExp之外,其他地方使用都要加上RegExp。
案例講解:demo1
<html>
<script language="javascript" type="text/javascript">
//創(chuàng)建要進(jìn)行匹配的字符串
var objStr="這是我的手機(jī)號(hào)13100000000"
//創(chuàng)建正則表達(dá)式匹配手機(jī)號(hào)碼
var re=/(13)(/d)(/d{8})/;//該正則表達(dá)式可以匹配手機(jī)號(hào)碼以13開(kāi)頭的11為號(hào)碼以()為子匹配的標(biāo)志
document.write(objStr.replace(re,"$1$2********"));//處于隱私對(duì)字符串按照正則表達(dá)式的內(nèi)容進(jìn)行替換
//如果第二個(gè)子匹配結(jié)果,即手機(jī)號(hào)碼中的第三位數(shù)字小于等于3則該手機(jī)號(hào)為聯(lián)通號(hào)碼,否則為其他運(yùn)營(yíng)商的號(hào)碼
if(RegExp.$2<=3){
document.write("這是聯(lián)通手機(jī)號(hào)");
}else{
document.write("這是移動(dòng)或者電信手機(jī)號(hào)");
}
</script>
</html>
但是沒(méi)進(jìn)行一次匹配$n的值就改變一次,因此當(dāng)我們匹配在一個(gè)字符串中出現(xiàn)多個(gè)手機(jī)號(hào)碼時(shí)我們需要這樣匹配
案例講解demo2
<html>
<script language="javascript" type="text/javascript">
//創(chuàng)建一個(gè)需要匹配的字符串
var objStr="這是我的手機(jī)號(hào)碼13112345678, 這是我朋友的手機(jī)號(hào)碼13912345678";
//創(chuàng)建匹配手機(jī)號(hào)碼的正則表達(dá)式對(duì)象,隱式創(chuàng)建
var reg=/(13)(/d)(/d{8})/g;//g為全局匹配參數(shù),匹配11位手機(jī)號(hào)碼;
//將字符串進(jìn)行匹配如果符合結(jié)果則將返回結(jié)果放入數(shù)組中
var arr=objStr.match(reg);
with(document){
if(arr!=null){//如果匹配有結(jié)果
write("檢測(cè)到"+arr.length+"個(gè)手機(jī)號(hào)碼");//顯示匹配到多少個(gè)電話號(hào)碼
//循環(huán)輸出各個(gè)結(jié)果,并且判斷運(yùn)營(yíng)商
for(var i=0;i<arr.length;i++){
//對(duì)匹配出來(lái)的電話號(hào)碼進(jìn)行二次匹配,獲取號(hào)碼的第三個(gè)數(shù)字
arr[i]=arr[i].toString().replace(reg,"$1$2********");
//以列表的形式輸出各個(gè)電話號(hào)碼
write("<li>"+arr[i]);
//如果第三個(gè)電話號(hào)碼小于等于3則該電話號(hào)碼為聯(lián)通號(hào)碼,否則為其他運(yùn)營(yíng)商的號(hào)碼
if(RegExp.$2<=3){
write("這是一個(gè)聯(lián)通手機(jī)號(hào)碼!");
}else{
write("這是一個(gè)移動(dòng)或者電信手機(jī)號(hào)碼!");
}
}//for循環(huán)的結(jié)束
}//if的結(jié)束
}//with的結(jié)束
</script>
</html>
希望大家多多練習(xí),有什么問(wèn)題可以留言,我會(huì)盡全力幫助大家解決的!
基本語(yǔ)法RegExp.$n
注意:這些屬性是靜態(tài)的,除了replace中的第二個(gè)參數(shù)可以省略RegExp之外,其他地方使用都要加上RegExp。
案例講解:demo1
復(fù)制代碼 代碼如下:
<html>
<script language="javascript" type="text/javascript">
//創(chuàng)建要進(jìn)行匹配的字符串
var objStr="這是我的手機(jī)號(hào)13100000000"
//創(chuàng)建正則表達(dá)式匹配手機(jī)號(hào)碼
var re=/(13)(/d)(/d{8})/;//該正則表達(dá)式可以匹配手機(jī)號(hào)碼以13開(kāi)頭的11為號(hào)碼以()為子匹配的標(biāo)志
document.write(objStr.replace(re,"$1$2********"));//處于隱私對(duì)字符串按照正則表達(dá)式的內(nèi)容進(jìn)行替換
//如果第二個(gè)子匹配結(jié)果,即手機(jī)號(hào)碼中的第三位數(shù)字小于等于3則該手機(jī)號(hào)為聯(lián)通號(hào)碼,否則為其他運(yùn)營(yíng)商的號(hào)碼
if(RegExp.$2<=3){
document.write("這是聯(lián)通手機(jī)號(hào)");
}else{
document.write("這是移動(dòng)或者電信手機(jī)號(hào)");
}
</script>
</html>
但是沒(méi)進(jìn)行一次匹配$n的值就改變一次,因此當(dāng)我們匹配在一個(gè)字符串中出現(xiàn)多個(gè)手機(jī)號(hào)碼時(shí)我們需要這樣匹配
案例講解demo2
復(fù)制代碼 代碼如下:
<html>
<script language="javascript" type="text/javascript">
//創(chuàng)建一個(gè)需要匹配的字符串
var objStr="這是我的手機(jī)號(hào)碼13112345678, 這是我朋友的手機(jī)號(hào)碼13912345678";
//創(chuàng)建匹配手機(jī)號(hào)碼的正則表達(dá)式對(duì)象,隱式創(chuàng)建
var reg=/(13)(/d)(/d{8})/g;//g為全局匹配參數(shù),匹配11位手機(jī)號(hào)碼;
//將字符串進(jìn)行匹配如果符合結(jié)果則將返回結(jié)果放入數(shù)組中
var arr=objStr.match(reg);
with(document){
if(arr!=null){//如果匹配有結(jié)果
write("檢測(cè)到"+arr.length+"個(gè)手機(jī)號(hào)碼");//顯示匹配到多少個(gè)電話號(hào)碼
//循環(huán)輸出各個(gè)結(jié)果,并且判斷運(yùn)營(yíng)商
for(var i=0;i<arr.length;i++){
//對(duì)匹配出來(lái)的電話號(hào)碼進(jìn)行二次匹配,獲取號(hào)碼的第三個(gè)數(shù)字
arr[i]=arr[i].toString().replace(reg,"$1$2********");
//以列表的形式輸出各個(gè)電話號(hào)碼
write("<li>"+arr[i]);
//如果第三個(gè)電話號(hào)碼小于等于3則該電話號(hào)碼為聯(lián)通號(hào)碼,否則為其他運(yùn)營(yíng)商的號(hào)碼
if(RegExp.$2<=3){
write("這是一個(gè)聯(lián)通手機(jī)號(hào)碼!");
}else{
write("這是一個(gè)移動(dòng)或者電信手機(jī)號(hào)碼!");
}
}//for循環(huán)的結(jié)束
}//if的結(jié)束
}//with的結(jié)束
</script>
</html>
希望大家多多練習(xí),有什么問(wèn)題可以留言,我會(huì)盡全力幫助大家解決的!
您可能感興趣的文章:
- js匹配網(wǎng)址url的正則表達(dá)式集合
- JS正則表達(dá)式匹配檢測(cè)各種數(shù)值類型(數(shù)字驗(yàn)證)
- String字符串匹配javascript 正則表達(dá)式
- JavaScript正則表達(dá)式匹配 div style標(biāo)簽
- js實(shí)現(xiàn)正則匹配中文標(biāo)點(diǎn)符號(hào)的方法
- js正則匹配出所有圖片及圖片地址src的方法
- js正則表達(dá)式匹配數(shù)字字母下劃線等
- js使用正則子表達(dá)式匹配首字母與尾字母相同單詞的方法
- js 正則表達(dá)式學(xué)習(xí)筆記之匹配字符串
- javascript正則匹配漢字、數(shù)字、字母、下劃線
- 解決js正則匹配換行問(wèn)題實(shí)現(xiàn)代碼
- JS正則子匹配實(shí)例分析
相關(guān)文章
js replace正則相關(guān)的詭異問(wèn)題
最近做會(huì)員個(gè)人身份頁(yè)的時(shí)候遇上如下問(wèn)題2009-10-10幾個(gè)小例子教你如何實(shí)現(xiàn)正則表達(dá)式highlight高亮
正則表達(dá)式,用起來(lái)還是挺方便的。正則技能,你值得擁有!!2014-05-05正則表達(dá)式實(shí)現(xiàn)匹配連續(xù)數(shù)字的方法
我這兩天剛剛學(xué)正則表達(dá)式。我覺(jué)的正則對(duì)連續(xù)的字符匹配很簡(jiǎn)單,但是對(duì)連續(xù)的一段數(shù)字匹配就不是很好。正好最近有朋友問(wèn)了匹配連續(xù)數(shù)字的正則,就幫忙寫(xiě)了一下,算是當(dāng)作溫習(xí)一下吧。下面這篇文章就主要介紹了正則表達(dá)式實(shí)現(xiàn)匹配連續(xù)數(shù)字的方法。2017-01-01正則表達(dá)式學(xué)習(xí)參考 正則入門(mén)學(xué)習(xí)資料
正則表達(dá)式(Regular Expression)是一種匹配模式,描述的是一串文本的特征2012-10-10javascript RegExp對(duì)象(正則表達(dá)式)
JavaScript提供了一個(gè)RegExp對(duì)象來(lái)完成有關(guān)正則表達(dá)式的操作和功能,每一條正則表達(dá)式模式對(duì)應(yīng)一個(gè)RegExp實(shí)例。有兩種方式可以創(chuàng)建RegExp對(duì)象的實(shí)例。2009-05-05正則表達(dá)式不區(qū)分大小寫(xiě)以及解決思路的探索 .
今天在寫(xiě)一個(gè)正則表達(dá)式的時(shí)候,因?yàn)樽址写笮?xiě)的問(wèn)題,多種大小寫(xiě)的組合,這時(shí)想到了用正則表達(dá)式2014-06-06