可能重复:
Javascript multiple replace
How do I replace all occurrences of "/" in a string with "_" in JavaScript?的JavaScript .replace不全部替换
在JavaScript中,"11.111.11".replace(".", "")
结果"11111.11"
。怎么可能?
萤火虫截图:
可能重复:
Javascript multiple replace
How do I replace all occurrences of "/" in a string with "_" in JavaScript?的JavaScript .replace不全部替换
在JavaScript中,"11.111.11".replace(".", "")
结果"11111.11"
。怎么可能?
萤火虫截图:
引用从the doc:
为了在 正则表达式执行全局搜索和替换,或者包括克开关,或者如果第一个参数是一个字符串,在flags参数中包含 g。 注意: 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!!
首先,更换( )是一个javascript函数,而不是一个jquery函数。
上述代码仅替换第一个出现的“。”。 (并非每一次出现)。要替换的JavaScript字符串的每次出现,你必须提供replace()方法正则表达式与全球改性剂作为第一个参数,像这样:
"11.111.11".replace(/\./g,'')
在你的第一个例子中的“标志”参数是不标准,并且不适用于Chrome或IE。 – jvenema
@jvenema谢谢,更新了提及的答案。实际上,在需要全局替换时,我从来没有在'.replace'第一个参数中使用字符串,所以当看到没有正则表达式修饰符时仍然可能会有点惊讶。 ) – raina77ow
谢谢你,这是有效的...这是我在整个职业生涯中见过的最无意识的代码:D – SeToY