2012-11-12 34 views

回答

18

沒有在JavaScript中沒有replaceAll:錯誤控制檯可能是報告錯誤..注意!

相反,使用具有規則表達式參數/g( 「全局匹配」)改性劑replace

var a="::::::"; 
a = a.replace(/:/g,"hi"); 
alert(a); 

的是覆蓋在MDN: String.replace(和其他地方)。

+0

爲什麼這個代碼不工作VAR一個= 「:):)::::」; a = a.replace(/:)/ g,「hi」); 警報(a); –

+1

@VishnuChid因爲'/:)/ g'是一個無效的正則表達式文本(其將導致一個SyntaxError由於「額外」的右括號)。請改用'/:\)/ g'。請閱讀錯誤消息,準確地說明錯誤消息 - 「不工作」和「不工作」非常含糊。 – 2012-11-12 08:10:53

+0

我得到SyntaxError:缺失)在/:\)/ g參數列表後,請幫助,我應該閱讀有關使用斜槓的主題是什麼? –

6

沒有在JavaScript中沒有replaceAll功能。

可以使用帶有全局標識符正則表達式如圖PST的回答是:

a.replace(/:/g,"hi");

其中有些人喜歡,因爲它省去了正則表達式是使用JavaScript的splitjoin功能的替代像這樣:

a.split(":").join("hi"); 

值得注意的第二種方法是然而慢。

+2

+1分裂解決方案。 – elclanrs

+0

+1分離解決方案 –