Um eine bessere Suche durchzuführen, verwenden Sie den folgenden Code,
var myFav = "javascript";
var theList = "VB.NET, C#, PHP, Python, JavaScript, and Ruby";
// Check for matches with the plain vanilla indexOf() method:
alert( theList.indexOf( myFav ) );
// Now check for matches in lower-cased strings:
alert( theList.toLowerCase().indexOf( myFav.toLowerCase() ) );
Im ersten alert() gab JavaScript "-1" zurück - mit anderen Worten, indexOf() fand keine Übereinstimmung: Das liegt einfach daran, dass "JavaScript" in der ersten Zeichenkette kleingeschrieben und in der zweiten Zeichenkette richtig großgeschrieben ist. Um mit indexOf() eine Suche ohne Berücksichtigung der Groß- und Kleinschreibung durchzuführen, können Sie beide Zeichenketten entweder groß oder klein schreiben. Das bedeutet, dass JavaScript, wie in der zweiten alert(), nur nach dem Vorkommen der gesuchten Zeichenkette sucht und die Großschreibung ignoriert.
Referenz, http://freewebdesigntutorials.com/javaScriptTutorials/jsStringObject/indexOfMethod.htm
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.