JavaScripts „Replace“-Funktion: Globale Ersetzungen verstehen
Wenn Sie die „Replace“-Funktion von JavaScript zum Ändern von Zeichenfolgen verwenden, kann es überraschend sein, dies zu entdecken dass es standardmäßig nur die erste Instanz einer angegebenen Teilzeichenfolge ersetzt. Dieses Verhalten kann durch das Fehlen des „globalen“ Flags erklärt werden, das durch den Buchstaben „g“ gekennzeichnet ist.
Betrachten Sie das folgende Beispiel:
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
Die resultierende Zeichenfolge „ c_1231/2009“ zeigt, dass nur das erste Vorkommen des Schrägstrichs ersetzt wurde, während der zweite Schrägstrich intakt bleibt.
Um dieses Problem zu beheben, muss das Flag „g“ in den regulären Ausdruck eingefügt werden:
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
Durch Setzen des „g“-Flags durchläuft die JavaScript-Funktion „replace“ die Eingabezeichenfolge und ersetzt jedes Vorkommen der angegebenen Teilzeichenfolge, um sicherzustellen, dass alle Instanzen wie erwartet geändert werden.
Das obige ist der detaillierte Inhalt vonSo aktivieren Sie globale Ersetzungen in der Funktion „Ersetzen' von JavaScript. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!