Heim > Web-Frontend > js-Tutorial > Hauptteil

Warum ersetzt die Ersetzungsmethode von JavaScript nur die erste Instanz?

Mary-Kate Olsen
Freigeben: 2024-10-23 07:55:02
Original
926 Leute haben es durchsucht

Why Does JavaScript's Replace Method Only Replace the First Instance?

Warum JavaScript-Replace nur die erste Instanz ersetzt: Erkundung des RegExp-Flags

Bei Verwendung der JavaScript-Ersetzungsmethode zum Suchen und Ersetzen einer Zeichenfolge durch eine andere , können Sie auf das Verhalten stoßen, bei dem nur die erste Instanz der Zielzeichenfolge ersetzt wird. Dieses Verhalten tritt auf, weil das Standardverhalten von Ersetzen darin besteht, einen einzelnen, nicht globalen Such- und Ersetzungsvorgang durchzuführen.

Globales Ersetzen: Das RegExp-Flag

Um alles zu ersetzen Instanzen einer Zielzeichenfolge in einer Zeichenfolge müssen Sie das „globale“ Flag (g) im regulären Ausdruck angeben, der in der Ersetzungsmethode verwendet wird. Dieses Flag gibt an, dass der Such- und Ersetzungsvorgang über die gesamte Zeichenfolge hinweg erfolgen soll und jedes Vorkommen der Zielzeichenfolge ersetzen soll.

Zum Beispiel in Ihrem Code:

<code class="javascript">var date = $('#Date').val(); // e.g., "12/31/2009"
var id = 'c_' + date.replace("/", ''); // c_1231/2009 (wrong)</code>
Nach dem Login kopieren

Um alle Vorkommen zu ersetzen des Zeichens „/“ müssen Sie das Flag „global“ angeben:

<code class="javascript">var id = 'c_' + date.replace(new RegExp("/", "g"), ''); // c_12312009 (correct)</code>
Nach dem Login kopieren

Alternativ können Sie die kürzere Syntax verwenden:

<code class="javascript">var id = 'c_' + date.replace(/\//g, ''); // c_12312009 (correct)</code>
Nach dem Login kopieren

Durch Angabe des Flags „global“ Flag ersetzt die Ersetzungsmethode jedes Schrägstrichzeichen in der Datumszeichenfolge, was zu einer korrekten Ausgabe führt.

Das obige ist der detaillierte Inhalt vonWarum ersetzt die Ersetzungsmethode von JavaScript nur die erste Instanz?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!