2016-11-28 5 views
0

Zur Zeit muss ich mit einem vorhandenen Wert der Benutzereingabe entsprechen und die ich verwendet habe,Mit .match() für Groß- und Kleinschreibung Worte

return book.id.match(keyword); 

Jetzt muss ich die Keyword-unempfindlich Fall machen, wo Bookt und BOOkt sollte auch zum Beispiel übereinstimmen. Ich habe versucht, eine Regex zu verwenden, aber es lässt mich nicht die Variable 'Schlüsselwort' an die Regex übergeben. Irgendeine Idee, wie man das einfach macht?

+6

'.match (neues RegExp (Schlüsselwort, 'i'))' unter der Annahme, dass es im 'Schlüsselwort' keine speziellen Symbole gibt. – Tushar

+1

'book.id.toLowerCase(). Includes (keyword.toLowerCase())' – Bergi

Antwort

0

Sie können die Übereinstimmung mit Regex als Parameter verwenden.

var string = "BoOkt"; 
var result = string.match(/bookt/i); 

if (result){ 
    alert('match'); 
} 

alternative Version von der Verwendung von Regex ist indexOf. Wenn Sie Regex-Metazeichen von Ihrer Benutzereingabe enthalten haben und match verwenden, wird das ein anderes Problem für Sie sein.

+0

Beachten Sie, dass der OP-Code keinen Kontext anzeigt; Wenn das von '.match()' zurückgegebene Array für etwas verwendet wird, funktioniert der Wechsel zu '.indexOf()' nicht. – nnnnnn

Verwandte Themen