為什麼Javascript的Replace函數只取代第一個實例
在JavaScript中使用replace()時,你可能會遇到只替換的情況目標字串的第一個實例。這種明顯的不一致源自於函數的預設行為。
理解replace()行為
預設情況下,replace()查找並替換第一次出現的指定子字串在一個字串內。如果要取代所有實例,則需要在正規表示式中指定 g(全域)標誌。
範例:設定g 標誌
考慮範例問題中提供:
var date = $('#Date').val(); // Gets value "12/31/2009" var id = 'c_' date.replace("/", ''); // Replaces only the first "/", resulting in "c_1231/2009"
要替換正斜線(/)的所有實例,請使用g 標誌:
var id = 'c_' date.replace(new RegExp("/", "g"), ''); // Replaces all "/" with "", resulting in "c_12312009"
或者,您可以使用更簡單的語法:
var id = 'c_' date.replace(/\//g, ''); // Equivalent to the previous line
透過設定g標誌,正規表示式符合所有出現的目標字串,並將它們替換為指定的新值。此行為可確保所有實例都按預期替換。
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3