可能重复:
Javascript multiple replace
How do I replace all occurrences of "/" in a string with "_" in JavaScript?
在JavaScript中,"11.111.11".replace(".", "")
会产生"11111.11"
。怎么会这样?
Firebug屏幕截图:
答案 0 :(得分:32)
引自the doc:
要执行全局搜索和替换,请在其中包含g开关 正则表达式或如果第一个参数是字符串,则包含 g在flags参数中。 注意:强> flags参数在v8 Core(Chrome和Node.js)中不起作用,将从Firefox中删除。
所以它应该是:
"11.111.11".replace(/\./g, '');
此版本(编辑时)在Firefox中可以正常工作...
"11.111.11".replace('.', '', 'g');
...但是,正如在MDN页面上所指出的那样,它的支持很快就会被取消。
答案 1 :(得分:7)
使用正则表达式和标记g
,您获得了预期结果
"11.111.11".replace(/\./g, "")
使用正则表达式的重要性,因为:
"11.111.11".replace('.', '', 'g'); // dont' use it!!
答案 2 :(得分:3)
首先,replace()是一个javascript函数,而不是一个jquery函数。
以上代码仅替换第一次出现的"。" (并非每次都发生)。要替换JavaScript中每次出现的字符串,必须为replace()方法提供一个带有全局修饰符作为第一个参数的正则表达式,如下所示:
"11.111.11".replace(/\./g,'')