欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

JS的replace方法介紹

 更新時間:2012年10月20日 02:17:12   作者:  
replace() 方法的參數(shù) replacement 可以是函數(shù)而不是字符串。在這種情況下,每個匹配都調(diào)用該函數(shù),它返回的字符串將作為替換文本使用
該函數(shù)的第一個參數(shù)是匹配模式的字符串。接下來的參數(shù) 是與模式中的子表達式匹配的字符串,可以有 0 個或多個這樣的參數(shù)。接下來的參數(shù)是一個整數(shù),聲明了匹配在 stringObject 中出現(xiàn)的位置。最后一個參數(shù)是 stringObject 本身。
下文展示了幾種javascript正則表示式的repalce方式,有些方式我們很少在別的地方看到,如第二種和第三方中方法。
復(fù)制代碼 代碼如下:

//下面的例子用來獲取url的兩個參數(shù),并返回urlRewrite之前的真實Url
var reg=new RegExp("(http://www.dbjr.com.cn/BookReader/)(\\d+),(\\d+).aspx","gmi");
var url="http://www.dbjr.com.cn/BookReader/1017141,20361055.aspx";
//方式一,最簡單常用的方式
var rep=url.replace(reg,"$1ShowBook.aspx?bookId=$2&chapterId=$3");
alert(rep);
//方式二 ,采用固定參數(shù)的回調(diào)函數(shù)
var rep2=url.replace(reg,function(m,p1,p2,p3){return p1+"ShowBook.aspx?bookId="+p3+"&chapterId="+p3});
alert(rep2);
//方式三,采用非固定參數(shù)的回調(diào)函數(shù)
var rep3=url.replace(reg,function(){var args=arguments; return args[1]+"ShowBook.aspx?bookId="+args[2]+"&chapterId="+args[3];});
alert(rep3);
//方法四
//方式四和方法三很類似, 除了返回替換后的字符串外,還可以單獨獲取參數(shù)
var bookId;
var chapterId;
function capText()
{
var args=arguments;
bookId=args[2];
chapterId=args[3];
return args[1]+"ShowBook.aspx?bookId="+args[2]+"&chapterId="+args[3];
}
var rep4=url.replace(reg,capText);
alert(rep4);
alert(bookId);
alert(chapterId);
//除了使用replace方法獲取正則表示式的分組外,還可以使用test ,exec方法獲取分組,只是手法有所不同而已
var reg2=new RegExp("(http://www.dbjr.com.cn/BookReader/)(\\d+),(\\d+).aspx","gmi");
var m=reg2.exec("http://www.dbjr.com.cn/BookReader/1017141,20361055.aspx");
var s="";
//獲取所有的分組
for (i = 0; i < m.length; i++) {
s = s + m[i] + "\n";
}
alert(s);
bookId=m[2];
chapterId=m[3];
alert(bookId);
alert(chapterId);
//使用test方法獲取分組
var reg3=new RegExp("(http://www.dbjr.com.cn/BookReader/)(\\d+),(\\d+).aspx","gmi");
reg3.test("http://www.dbjr.com.cn/BookReader/1017141,20361055.aspx");
//獲取三個分組
alert(RegExp.$1);
alert(RegExp.$2);
alert(RegExp.$3);
var str="www.baidu.com";
//str.format("好","q")
str.replace(new RegExp("(\\.)(bai)du","g"),function(){
for(var i=0;i<arguments.length;i++)
{
document.write(arguments[i]+"<br/>");
}
document.write("-------------------------------------------------<br/>");
});
兩個例子(證明,replace傳入正則參數(shù)和字符傳參數(shù)結(jié)果不同):
alert("123".replace("1",function(){var un;return un;})); //彈出undefined23
alert("123".replace(new RegExp("1"),function(){var un;return un;})); //彈出23

相關(guān)文章

  • 詳解TypeScript中模塊化開發(fā)指南

    詳解TypeScript中模塊化開發(fā)指南

    在編程中,模塊是指將相關(guān)的代碼封裝在一起,形成一個獨立的單元,在這篇文章中,我們將深入探討在TypeScript中如何定義、導(dǎo)入和導(dǎo)出模塊,感興趣的可以了解一下
    2023-06-06
  • JavaScript實現(xiàn)文本相似度對比

    JavaScript實現(xiàn)文本相似度對比

    這篇文章主要介紹了JavaScript實現(xiàn)文本相似度對比,文章圍繞主題展開詳細的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-06-06
  • JavaScript設(shè)計模式之調(diào)停者模式實例詳解

    JavaScript設(shè)計模式之調(diào)停者模式實例詳解

    這篇文章主要介紹了JavaScript設(shè)計模式之調(diào)停者模式,詳細分析了調(diào)停者模式的概念、原理、優(yōu)缺點并結(jié)合javascript實例形式給出了相關(guān)使用技巧,需要的朋友可以參考下
    2018-02-02
  • JS 實現(xiàn)發(fā)送短信驗證碼的“59秒后重新發(fā)送驗證短信”功能

    JS 實現(xiàn)發(fā)送短信驗證碼的“59秒后重新發(fā)送驗證短信”功能

    這篇文章主要介紹了JS 實現(xiàn)發(fā)送短信驗證碼的“59秒后重新發(fā)送驗證短信”功能,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-08-08
  • IE6下拉框圖層問題探討及解決

    IE6下拉框圖層問題探討及解決

    有關(guān)IE6下拉框圖層問題,一直困擾著大家,下面有個不錯的方法大家可以嘗試操作下
    2014-01-01
  • 微信小程序搜索框樣式并實現(xiàn)跳轉(zhuǎn)到搜索頁面(小程序搜索功能)

    微信小程序搜索框樣式并實現(xiàn)跳轉(zhuǎn)到搜索頁面(小程序搜索功能)

    這篇文章主要介紹了微信小程序搜索框樣式并實現(xiàn)跳轉(zhuǎn)到搜索頁面(小程序搜索功能),需要的朋友可以參考下
    2020-03-03
  • ECharts入門教程

    ECharts入門教程

    ECharts 是一個使用JavaScript實現(xiàn)的開源可視化庫,涵蓋各行業(yè)圖表,滿足各種需求。這篇文章介紹了ECharts的基礎(chǔ)知識,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-06-06
  • 異步安全加載javascript文件的方法

    異步安全加載javascript文件的方法

    這篇文章主要介紹了異步安全加載javascript文件的方法,實例分析了javascript實現(xiàn)文件異步加載的具體技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-07-07
  • 原生JS可拖動彈窗效果實例代碼

    原生JS可拖動彈窗效果實例代碼

    這篇文章介紹了原生JS可拖動彈窗效果實例代碼,有需要的朋友可以參考一下
    2013-11-11
  • JavaScript canvas繪制漸變顏色的矩形

    JavaScript canvas繪制漸變顏色的矩形

    這篇文章主要為大家詳細介紹了JavaScript canvas繪制漸變顏色的矩形,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-02-02

最新評論