JavaScript.replace不';不能替换所有事件

JavaScript.replace不';不能替换所有事件,javascript,replace,Javascript,Replace,可能重复: 在JavaScript中,“11.111.11”。替换(“.”,“”)会导致“11111.11”。这怎么可能 Firebug屏幕截图: 引用自: 要执行全局搜索和替换,请在 正则表达式,或者如果第一个参数是字符串,则包括 在flags参数中注意: flags参数在v8 Core(Chrome和Node.js)中不起作用,将从Firefox中删除 因此,它应该是: "11.111.11".replace(/\./g, ''); 这个版本(在编辑的时候)在Firefox中可以正常

可能重复:

在JavaScript中,
“11.111.11”。替换(“.”,“”)
会导致
“11111.11”
。这怎么可能

Firebug屏幕截图:
引用自:

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

因此,它应该是:

"11.111.11".replace(/\./g, '');

这个版本(在编辑的时候)在Firefox中可以正常工作

"11.111.11".replace('.', '', 'g');

。。。但是,正如MDN页面上所指出的,它的支持很快就会被放弃。

使用正则表达式和标志
g
您得到了预期的结果

"11.111.11".replace(/\./g, "")
使用正则表达式很重要,因为:

"11.111.11".replace('.', '', 'g'); // dont' use it!!

首先,replace()是一个javascript函数,而不是jquery函数

上述代码仅替换“.”的第一次出现(并非每次出现)。要替换JavaScript中出现的每一个字符串,必须为replace()方法提供一个正则表达式,并将全局修饰符作为第一个参数,如下所示:

"11.111.11".replace(/\./g,'')

您的第一个示例中的“flags”参数是非标准的,在Chrome或IE中不起作用。@jvenema谢谢,更新了提到这一点的答案。事实上,当需要全局替换时,我从未在
.replace
第一个参数中使用字符串,所以当看到仍然可以不使用正则表达式修饰符时,我有点惊讶。)谢谢,这很有效。。。这是我整个职业生涯中看到的最无意的代码:DIt刚刚救了我一天。。。我想知道发生了什么。。。谢谢Firefox的行为就像您已经传递了/\./g作为第一个参数,并替换了所有实例