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

