可能重複:
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