javascript replaceall不工作

Javascript replaceAll not working

本问题已经有最佳答案,请猛点这里访问。

Possible Duplicate:
Replacing all occurrences of a string in javascript?

我需要替换变量中的所有字符串。

1
2
3
var a="::::::";
a = a.replace(":","hi");
alert(a);

上面的代码只替换第一个字符串,即hi::::::

我用了replaceAll,但没有用。

请引导我,谢谢


javascript中没有replaceAll:错误控制台可能报告了一个错误。

相反,使用/g(match globally)修饰符和replace的正则表达式参数:

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

在mdn:string.replace(和其他地方)中包含。


javascript中没有replaceAll函数。

您可以使用带有全局标识符的regex,如pst的答案所示:

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

有些人更喜欢的另一种选择是使用javascript的splitjoin函数,因为它消除了对正则表达式的需要:

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

值得注意的是,第二种方法速度较慢。