Durchführen von Regex-Übereinstimmungen ohne Berücksichtigung der Groß- und Kleinschreibung in JavaScript
Bei der Arbeit mit URLs ist es häufig erforderlich, Daten aus der Abfragezeichenfolge zu extrahieren. In JavaScript kann die Verwendung regulärer Ausdrücke zur Durchführung dieser Extraktion unkompliziert sein, die Sicherstellung der Berücksichtigung der Groß-/Kleinschreibung kann jedoch eine Herausforderung darstellen.
In diesem Beitrag untersuchen wir ein häufiges Problem, bei dem ein Vergleich unter Beachtung der Groß-/Kleinschreibung zu inkonsistenten Ergebnissen führen kann. Betrachten wir den folgenden Codeausschnitt:
var results = new RegExp('[\?&]' + name + '=([^&#]*)').exec(window.location.href); if (!results) { return 0; } return results[1] || 0;
Dieser Code soll den Wert eines Abfragezeichenfolgenparameters namens „name“ aus der aktuellen URL extrahieren. Es wird jedoch kein Vergleich ohne Berücksichtigung der Groß-/Kleinschreibung für den Namen der Abfragezeichenfolge durchgeführt, was zu unerwartetem Verhalten führen könnte, wenn der Name mit einer anderen Schreibweise eingegeben wird.
Um dieses Problem zu beheben, können wir das „i“ verwenden. Modifizierer in unserem regulären Ausdruck, um beim Vergleich die Groß-/Kleinschreibung zu ignorieren. Dieser Modifikator sollte unmittelbar nach dem letzten Schrägstrich im regulären Ausdruck hinzugefügt werden, wie unten gezeigt:
var results = new RegExp('[\?&]' + name + '=([^&#]*)', 'i').exec(window.location.href);
Durch die Einbeziehung des Modifikators „i“ ignoriert der reguläre Ausdruck nun die Groß-/Kleinschreibung des Namens der Abfragezeichenfolge , um sicherzustellen, dass der Vergleich unabhängig von der Groß-/Kleinschreibung der Eingabe erfolgreich ist.
Das obige ist der detaillierte Inhalt vonWie machen Sie bei Ihren JavaScript-Regex-Übereinstimmungen die Groß-/Kleinschreibung nicht beachtet?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!