replace 方法以下是javascript 中的例子下面的樣本示範了 replace 方法將第一次出現的單詞 "The" 替換為單詞 "A" 的用法。function ReplaceDemo(){ var r, re; // 聲明變數。 var ss = "The man hit the ball with the bat.\n"; ss += "while the fielder caught the ball with the glove."; re = /The/g; // 建立Regex模式。 r = ss.replace(re, "A"); // 用 "A" 替換 "The" 。 return(r); // 返回替換後的字串。}另外, replace 方法也可以替換模式中的子運算式。 下面的範例示範了交換字串中的每一對單詞: function ReplaceDemo(){ var r, re; // 聲明變數。 var ss = "The rain in Spain falls mainly in the plain."; re = /(\S+)(\s+)(\S+)/g; // 建立Regex模式。 r = ss.replace(re, "$3$2$1"); // 交換每一對單詞。 return(r); // 返回結果字串。}下面的樣本(在 JScript 5.5 及更新版本中執行)執行的是從華氏到攝氏的轉換,它示範了使用函數作為 replaceText 。要想知道該函數是如何工作的,傳遞一個包含數值的字串,數值後要緊跟 "F" (例如 "Water boils at 212" )。function f2c(s) { var test = /(\d+(\.\d*)?)F\b/g; // 初始化模式。 return(s.replace (test, function($0,$1,$2) { return((($1-32) * 5/9) + "C"); } ) );}document.write(f2c("Water freezes at 32F and boils at 212F."));重點就是第三個例子了1. 在一些網站上搜尋文章的時候,會發現這麼一個現象,就是搜尋的關鍵字會高亮改變顏色顯示出來??這是怎麼實現的呢??其實我們可以用Regex來實現,具體怎麼樣實現呢?簡單的原理請看下面的代碼<script language="javascript">var str=" 中華人民共和國,中華人民共和國";var newstr=str.replace(/( 人)/g,"<font color=red>$1</font>");document.write(newstr);</script>2.<script language="javascript">var reg=new RegExp("\\d","g");var str="abd1afa4sdf";str.replace(reg,function(){alert(arguments.length);});</script>我們驚奇的發現,匿名函數竟然被執行了二次,並且在函數裡還帶有三個參數 ,為什麼會執行二次呢??這個很容易想到,因為我們寫的Regex是匹配單個數位,而被檢測的字串剛好也有二個數字,故匿名函數被執行了二次。。在匿名函數內部的那三個參數到底是什麼內容呢?最終我們會發現: 前面參數表示匹配到的字元,倒數第二個參數表示匹配時的字元最小索引位置(RegExp.index) ,倒數第一個參數表示被匹配的字串(RegExp.input) 。其實這些參數的個數,還會隨著子匹配的變多而變多的。 也就是說我們可以這樣理解javascript 文檔中的$0,$1,$2 只是形參, 實參是由Regex寫好的, 即使我們寫成a,b,c, 它運行時所具有的值的仍然是 $0,$1,$2.