2016-11-28 11 views
0

ため.match()を使用する現在、私は、既存の値を使用してユーザーの入力と一致する必要があり、私が使用しているとBOOkTも一致する必要があります。私は、正規表現を使用してみましたが、私は正規表現に 'キーワード'変数を渡させていません。どのようにこれを簡単に行うための任意のアイデア?は大文字小文字を区別しない言葉

+6

'' keyword 'に特別な記号がないと仮定して、 '.match(new RegExp(keyword、' i '))'を実行します。 – Tushar

+1

'book.id.toLowerCase()。includes(keyword.toLowerCase())' – Bergi

答えて

0

regexとの一致をパラメータとして使用できます。

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

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

regexを使用した代替バージョンはindexOfです。あなたのユーザ入力からの正規表現メタキャラクタが含まれており、matchを使用している場合は、別の問題があります。

var match = 'awesome'; 
var string = 'stackoverflow is AweSoMe place'; 

if (string.toLowerCase().indexOf(match) != -1){ 
    alert('match') 
} 
+0

OPのコードはコンテキストを表示しないことに注意してください。 '.match()'によって返された配列が何かのために使われているなら、 '.indexOf()'に切り替えることはできません。 – nnnnnn

関連する問題