di fare una ricerca meglio utilizzare il seguente codice,
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()));
Nel primo alert(), è tornato JavaScript "-1" - in altre parole, indexOf() non ha trovato una corrispondenza : questo è semplicemente perché "JavaScript" è in minuscolo nella prima stringa e correttamente in maiuscolo nel secondo. Per eseguire ricerche senza distinzione tra maiuscole e minuscole con indexOf(), è possibile rendere entrambe le stringhe in maiuscolo o minuscolo. Ciò significa che, come nel secondo avviso(), JavaScript controllerà solo l'occorrenza della stringa che stai cercando, la maiuscola ignorata.
di riferimento, http://freewebdesigntutorials.com/javaScriptTutorials/jsStringObject/indexOfMethod.htm
fonte
2012-10-02 12:52:08
Penso che la regex senza distinzione tra maiuscole e minuscole sia la soluzione più elegante ma tutti dovrebbero tenere a mente le insidie della creazione di un 'RegExp' direttamente dall'input dell'utente. Ad esempio, un utente potrebbe immettere '*' e verrà generato un errore nel costruttore 'RegExp'. La soluzione accettata non ha questo problema. – pllee
Possibile duplicato di [indexOf Case Sensitive?] (Http://stackoverflow.com/questions/1126227/indexof-case-sensitive) – HadiRj