Eine weitere Möglichkeit ist die Verwendung der folgenden Suchmethode:
if (referrer.search(new RegExp("Ral", "i")) == -1) { ...
Das sieht eleganter aus, als die gesamte Zeichenkette in Kleinbuchstaben umzuwandeln, und ist vielleicht auch effizienter.
Mit toLowerCase()
Der Code hat zwei Durchgänge über die Zeichenkette, einen Durchgang über die gesamte Zeichenkette, um sie in Kleinbuchstaben umzuwandeln, und einen weiteren, um nach dem gewünschten Index zu suchen.
Mit RegExp
der Code hat einen Durchgang über die Zeichenfolge, die er sucht, um den gewünschten Index zu entsprechen.
Daher empfehle ich bei langen Strings die Verwendung der RegExp
Version (ich vermute, dass diese Effizienz bei kurzen Zeichenketten durch die Erstellung des RegExp
Objekt)
4 Stimmen
Ich denke, dass die Groß-/Kleinschreibung nicht berücksichtigende Regex die elegantere Lösung ist, aber jeder sollte die Fallstricke beim Erstellen einer
RegExp
direkt aus Benutzereingaben. Zum Beispiel könnte ein Benutzer eingeben*
und es würde ein Fehler in derRegExp
Konstrukteur. Bei der akzeptierten Lösung gibt es dieses Problem nicht.