JavaScript 的「替換」函數:當了解全域替換
利用JavaScript 的「替換」函數修改字串時,可能會令人修改字串時,可能會令人修改字串時,可能會令人修改字串時,可能會令人修改字串時,可能會令人修改字串時,可能會令人修改字串時,可能會令人修改字串時,可能會令人修改字串時,可能會令人修改字串時,可能會令人修改字串時,可能會令人修改字串驚訝地發現預設情況下,它僅替換指定子字串的第一個實例。此行為可以透過缺少「全局」標誌來解釋,該標誌由字母「g」表示。
考慮以下範例:
var date = $('#Date').val(); // Retrieves the value from a textbox, e.g. "12/31/2009" var id = 'c_' + date.replace("/", ''); // Attempts to remove all slashes from the date
產生的字串,「 c_1231/2009,」 顯示僅替換了第一次出現的斜杠字符,而第二個斜杠保持不變。
要修正此問題,正規表示式中必須包含「g」標誌:
date.replace(new RegExp("/", "g"), '') // Uses a regular expression to find and replace all slashes in the date // or date.replace(/\//g, '') // A shorthand notation for the above regular expression
透過設定「g」標誌,JavaScript 的「替換」函數將迭代輸入字串並替換每次出現的指定子字串,確保所有實例都按預期進行修改。
以上是如何在 JavaScript 的「替換」函數中啟用全域替換的詳細內容。更多資訊請關注PHP中文網其他相關文章!