国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Regex > 正文

js正則表達式之$1$2$3$4$5$6$7$8$9屬性,返回子匹配的結果

2020-03-16 21:08:42
字體:
來源:轉載
供稿:網友
$1-$9存放著正則表達式中最近的9個正則表達式的匹配結果,這些結果按照子匹配的出現順序依次排列
 
 
功能:$1-$9存放著正則表達式中最近的9個正則表達式的匹配結果,這些結果按照子匹配的出現順序依次排列。 

基本語法RegExp.$n 

注意:這些屬性是靜態的,除了replace中的第二個參數可以省略RegExp之外,其他地方使用都要加上RegExp。

案例講解:demo1 
復制代碼代碼如下:

<html> 
<script language="javascript" type="text/javascript"> 
//創建要進行匹配的字符串 
var objStr="這是我的手機號13100000000" 
//創建正則表達式匹配手機號碼 
var re=/(13)(/d)(/d{8})/;//該正則表達式可以匹配手機號碼以13開頭的11為號碼以()為子匹配的標志 
document.write(objStr.replace(re,"$1$2********"));//處于隱私對字符串按照正則表達式的內容進行替換 
//如果第二個子匹配結果,即手機號碼中的第三位數字小于等于3則該手機號為聯通號碼,否則為其他運營商的號碼 
if(RegExp.$2<=3){ 
document.write("這是聯通手機號"); 
}else{ 
document.write("這是移動或者電信手機號"); 

</script> 
</html> 

但是沒進行一次匹配$n的值就改變一次,因此當我們匹配在一個字符串中出現多個手機號碼時我們需要這樣匹配 

案例講解demo2 

復制代碼代碼如下:

<html> 
<script language="javascript" type="text/javascript"> 
//創建一個需要匹配的字符串 
var objStr="這是我的手機號碼13112345678, 這是我朋友的手機號碼13912345678"; 
//創建匹配手機號碼的正則表達式對象,隱式創建 
var reg=/(13)(/d)(/d{8})/g;//g為全局匹配參數,匹配11位手機號碼; 
//將字符串進行匹配如果符合結果則將返回結果放入數組中 
var arr=objStr.match(reg); 
with(document){ 
if(arr!=null){//如果匹配有結果 
write("檢測到"+arr.length+"個手機號碼");//顯示匹配到多少個電話號碼 
//循環輸出各個結果,并且判斷運營商 
for(var i=0;i<arr.length;i++){ 
//對匹配出來的電話號碼進行二次匹配,獲取號碼的第三個數字 
arr[i]=arr[i].toString().replace(reg,"$1$2********"); 
//以列表的形式輸出各個電話號碼 
write("<li>"+arr[i]); 
//如果第三個電話號碼小于等于3則該電話號碼為聯通號碼,否則為其他運營商的號碼 
if(RegExp.$2<=3){ 
write("這是一個聯通手機號碼!"); 
}else{ 
write("這是一個移動或者電信手機號碼!"); 

}//for循環的結束 
}//if的結束 
}//with的結束 
</script> 
</html> 

希望大家多多練習,有什么問題可以留言,我會盡全力幫助大家解決的!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 沈丘县| 石门县| 谷城县| 武威市| 怀柔区| 沂水县| 吴忠市| 安乡县| 京山县| 永善县| 洛扎县| 十堰市| 奎屯市| 饶河县| 富源县| 京山县| 瓦房店市| 屏东市| 南涧| 孟连| 武邑县| 定结县| 绥芬河市| 广安市| 邻水| 三都| 阜南县| 舞钢市| 察隅县| 丹棱县| 青海省| 图片| 和硕县| 乾安县| 永济市| 夏河县| 香港| 镇江市| 永川市| 肇东市| 朝阳市|