復制代碼 代碼如下:
function fn()
{
for(var i = 0;i < arguments.length;i++){
alert("第"+(i+1)+"個參數的值:"+arguments[i]);
}
}
var str = '<div id="{wo}" >{ni}</div>';
str.replace(/\{([a-z]+)\}/ig, fn);
根據多次測試由輸出結果可以得出fn中:
第一個參數為匹配到的字符串,如{wo}和{ni};
第二個參數可以有0-N個,為第一個參數中匹配到一個括號正則的字符串,如第一個參數中的wo和ni,能匹配([a-z]+),
括號有幾組,則參數有幾個;
第三個參數為第一個參數中匹配到的字符串所在位置,如{wo}返回9,{no}返回16;
第四個參數為用來匹配的字符串,在這個例子中就是<div id="{wo}" >{ni}</div>.
本例中對於一個包含wo和ni的json對象可以簡單地用:
復制代碼 代碼如下:
str.replace(/\{([a-z]+)\}/ig, function(s, t){
return json[t];
});
來替換.