js 的replace 預設替換隻替換第一個匹配的字元,如果字串有超過兩個以上的對應字元就無法進行替換,這時候就要進行一點操作,進行全部替換。
<script language="javascript"> var strM = "這是要被替換的字串啊啊!"; //在此我想將字母a替換成字母A alert(strM.replace("啊","額")); </script>
上面這段程式碼,只能替換第一個字元“啊”,第二個“啊”就無法替換,這樣就沒辦法滿足大多數使用js(replace)的需求
<script type="text/javascript" language="javascript"> var s = "這是要被替換的字元換啊啊!"; alert(s); alert(s.replace(/啊/g, "額"));
這樣,就可以實現整個字串的替換。
我們這裡用到了正則函式的/g全部的使用。這樣就可以實現整個字串的替換效果。
下面,我們大家可能還有個需求無法滿足,那就是,我們替換定值可以使用這個,但是替換變數怎麼使用?
接下來,就說一下替換變數的使用方式。
簡單介紹一下eval() 函式可計算某個字串,並執行其中的的 JavaScript 程式碼。接下來主要靠這個函式。
<script> var ch = "變數"; var reg = "/"+ch+"/g"; var str = "這是一個變數,這是一個變數"; var val = str.replace(eval(reg),"替換"); alert(val); </script>
但是如果要替換的字串中含有/符號時,上面的就不能用了,需要採取以下方法
<script> var ch = "/"; var str = "這是一/個變數,這是一個變數"; var val = str .replace(new RegExp(ch,`g`),"b"); alert(val); </script>