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

首頁 > 語言 > JavaScript > 正文

JS的replace方法詳細介紹

2024-05-06 14:20:58
字體:
來源:轉載
供稿:網友
replace() 方法的參數 replacement 可以是函數而不是字符串。在這種情況下,每個匹配都調用該函數,它返回的字符串將作為替換文本使用。該函數的第一個參數是匹配模式的字符串。接下來的參數 是與模式中的子表達式匹配的字符串,可以有 0 個或多個這樣的參數。接下來的參數是一個整數,聲明了匹配在 stringObject 中出現的位置。最后一個參數是 stringObject 本身。
下文展示了幾種javascript正則表示式的repalce方式,有些方式我們很少在別的地方看到,如第二種和第三方中方法。
//下面的例子用來獲取url的兩個參數,并返回urlRewrite之前的真實Url
代碼如下:
var reg=new RegExp("(http://www.qidian.com/BookReader/)(//d+),(//d+).aspx","gmi");
var url="http://www.qidian.com/BookReader/1017141,20361055.aspx";
//方式一,最簡單常用的方式
var rep=url.replace(reg,"$1ShowBook.aspx?bookId=$2&chapterId=$3");
alert(rep);
//方式二 ,采用固定參數的回調函數
var rep2=url.replace(reg,function(m,p1,p2,p3){return p1+"ShowBook.aspx?bookId="+p3+"&chapterId="+p3});
alert(rep2);
//方式三,采用非固定參數的回調函數
var rep3=url.replace(reg,function(){var args=arguments; return args[1]+"ShowBook.aspx?bookId="+args[2]+"&chapterId="+args[3];});
alert(rep3);

//方法四
//方式四和方法三很類似, 除了返回替換后的字符串外,還可以單獨獲取參數
代碼如下:
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.qidian.com/BookReader/)(//d+),(//d+).aspx","gmi");
var m=reg2.exec("http://www.qidian.com/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.qidian.com/BookReader/)(//d+),(//d+).aspx","gmi");
reg3.test("http://www.qidian.com/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/>");
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 商水县| 株洲县| 舒兰市| 闽清县| 洪泽县| 上饶市| 东丰县| 饶平县| 常德市| 金华市| 溆浦县| 商城县| 张掖市| 咸丰县| 乌兰县| 沽源县| 二连浩特市| 大竹县| 庆城县| 中江县| 陆河县| 历史| 博爱县| 镇赉县| 大荔县| 高唐县| 平江县| 孟州市| 婺源县| 太和县| 博客| 突泉县| 旺苍县| 中山市| 教育| 奉化市| 永登县| 星子县| 太保市| 吉安县| 吉安县|