JavaScript .replace不会替换所有实例

SeT*_*ToY 23 javascript replace

可能重复:
Javascript multiple replace
如何在JavaScript中用"_"替换字符串中出现的所有"/"?

在JavaScript中,"11.111.11".replace(".", "")结果"11111.11".怎么可能?

Firebug截图:
Firebug截图

rai*_*7ow 35

文档引用:

要执行全局搜索和替换,请在正则表达式中包含g开关,或者如果第一个参数是字符串,请在flags参数中包含g.注意: flags参数在v8 Core(Chrome和Node.js)中不起作用,将从Firefox中删除.

所以它应该是:

"11.111.11".replace(/\./g, '');
Run Code Online (Sandbox Code Playgroud)

这个版本(编辑时)在Firefox中有效...

"11.111.11".replace('.', '', 'g');
Run Code Online (Sandbox Code Playgroud)

......但是,正如MDN页面所指出的那样,它的支持很快就会被取消.

  • 您的第一个示例中的"flags"参数是非标准的,并且在Chrome或IE中无法使用. (8认同)

Luc*_*one 7

使用正则表达式和标志,g您可以获得预期的结果

"11.111.11".replace(/\./g, "")
Run Code Online (Sandbox Code Playgroud)

使用正则表达式的重要性,因为:

"11.111.11".replace('.', '', 'g'); // dont' use it!!
Run Code Online (Sandbox Code Playgroud)

不标准


归档时间:

查看次数:

24383 次

最近记录:

8 年,10 月 前