定義和用法
replace() 方法用於在字串中用一些字符替換另一些字符,或替換一個與正則表達式匹配的子串。
[Ctrl+A 全選註:如需引入外部Js需刷新才能執行]
[Ctrl+A 全選註:如需引入外部Js需刷新才能執行]
但結果還是沒有更改,如果您熟悉正規則,那這就難不住您。稍加修改就OK了。
複製代碼代碼如下:
<script language="javascript">
var strM = "javascript is a good script language";
//在此將字母a全部替換成字母A
alert(strM.replace(/a/g,"A"));
</script>
還可以這樣,看看效果吧!
複製代碼代碼如下:
<script language="javascript">
var strM = "javascript is a good script language";
alert(strM.replace(/(javascript)/s*(is)/g,"$1 $2 fun. it $2"));
</script>
我這兒舉的例子都是很簡單的應用,replace()在此點上與您使用正規表示式的能力成正比。您正規表示式越強,呵呵,那您就會越瘋狂的愛上它。
當然,我這兒推薦replace()的原因並不是因為它能與正規表示式合作,而在於它還能與函數合作,發揮出強大的功能。
先看簡單例子:將所有單字首字母換成大寫。
複製代碼代碼如下:
<script language="javascript">
var strM = "javascript is a good script language";
function change(word)
{
return word.indexOf(0).toUpperCase()+word.substring(1);
}
alert(strM.replace(//b/w+/b/g,change));
</script>
由上可知,當正規表示式有"g"標誌時,代表將處理整個字串,即函數change的變換將應用於所有匹配的物件。而函數有三個或更多參數,具體個數視正規表示式而定。
有了函數與正規表示式的配合,replace()處理字串的功能空前強大起來了!
最後也舉個例子,將字串所有單字倒序,用replace()處理是如此簡單。
複製代碼代碼如下:
<script language="javascript">
var strM = "javascript is a good script language";
function change(word)
{
var result = word.match(/(/w)/g);
if ( result )
{
var str = "";
for ( var i=result.length-1; i>=0; i-- )
{
str += result;
} return str;
}
else
{
return "null";
}
}
alert(strM.replace(//b(/w)+/b/g,change));
</script>