javascript中replace()用法詳解

在javascript中,String的函數replace()簡直太讓人喜愛了。它靈活而強大的字符替換處理能力,讓我不禁想向大家介紹它。

replace()最簡單的算是能力就是簡單的字符替換。示例代碼如下:

<script language="javascript">

var strM = "javascript is a good script language";

//在此我想將字母a替換成字母A

alert(strM.replace("a","A"));

</script>

我想大家運行後可以看到結果,它只替換了首字母。但如果加上正則表達式結果就不一樣了!呵呵,沒錯。replace()支持正則表達式,它可以按照正則表達式的規則匹配字符或字符串,然後給予替換!

<script language="javascript">

var strM = "javascript is a good script language";

//在此我想將字母a替換成字母A

alert(strM.replace(/a/,"A"));

</script>

呵呵,您一定發現了。這樣還是只替換了第一個字母a。如果您熟悉正則,那這就難不住您。稍加修改就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>

JavaScript 中的replace方法
1第一次發現JavaScript中replace() 方法如果直接用str.replace("-","!") 只會替換第一個匹配的字符. 2而str.replace(/\-/g,"!")則可以替換掉全部匹配的字符(g爲全局標志)。 3 4 5r...查看完整版>>JavaScript 中的replace方法
 
解決javascript中replace只能替換第一個
replace如果替換數據時,默認只替換第一個。如果在替換的時候加上: / 替換內容 /g 就能實現全部替換例如:function change(strvalue){strvalue = strvalue.replace(/&amp;/g,"&");strvalue = strvalue.repl...查看完整版>>解決javascript中replace只能替換第一個
 
Javascript中arguments的用法
<script language="JavaScript" type="text/javascript"> function fun() { var arr=fun.arguments; for(var i=0;i<arr.length;i++) { alert(arr); } } fun(&...查看完整版>>Javascript中arguments的用法
 
三星C208輸入法自造詞功能用法詳解
不知大家發現了沒有,小c的輸入法裏面有一個選項叫做“我的話語”。小蛇一開始也沒有注意到這個問題,感謝haokingyao朋友的提醒,他(她)給我們指出了一個小c快速輸入標點符號的方法。小蛇仔細研究了一下這個功能,...查看完整版>>三星C208輸入法自造詞功能用法詳解
 
PL/SQL DEVELOPER 基本用法詳解
  一.編輯表數據(浏覽表數數據自然不在話下)   二.在sql plus下寫長的語句時是否有些心煩,在這裏一樣搞定。   三.寫存儲過程,並調試。假如世界上沒有sql/plus dev,真不知道怎麽調試幾百行的存儲過程。說這種...查看完整版>>PL/SQL DEVELOPER 基本用法詳解
 
Ghost批處理命令用法詳解
  host批處理文件的基本格式  Ghost-clone,mode={copy│load│dump},src={drive│file│drive:partition},dst={dri-ve│file│drive:partition}/fro/fx/rb/f32/Z(n)/sure{其他參數}  其主要參數的意思...查看完整版>>Ghost批處理命令用法詳解
 
FSCommand用法詳解
  1、FS Command介紹  FS Command命令是Flash系統用來支持其他應用程序互相傳達命令的工具,有在Flash播放器和網頁兩方面用途。先看看它的基本用法:  FS Command函數設定有''Command''和''Arguments''兩項,在...查看完整版>>FSCommand用法詳解
 
PL/SQLDEVELOPER基本用法詳解
  一.編輯表數據(浏覽表數數據自然不在話下)  二.在sql plus下寫長的語句時是否有些心煩,在這裏一樣搞定。  三.寫存儲過程,並調試。如果世界上沒有sql/plus dev,真不知道怎麽調試幾百行的存儲過程。說這種情...查看完整版>>PL/SQLDEVELOPER基本用法詳解
 
FSCommand 用法詳解
  1、FS Command介紹   FS Command命令是Flash系統用來支持其他應用程序互相傳達命令的工具,有在Flash播放器和網頁兩方面用途。先看看它的基本用法:   FS Command函數設定有''Command''和''Arguments''兩項,...查看完整版>>FSCommand 用法詳解
 
 
回到王朝網路移動版首頁