2017-03-31 11 views
0

スペースを入力してリストをフィルタリングしたい(他の文字と同じように)。リストを入力する際に​​、フィルターのスペースでフィルターをかける方法は?

現在のコードは次のとおりです。私は私のリストにvege tablesを持っていると私はスペース、または文字e、スペース、またはスペースや文字tを入力した場合

var search = $.trim($(this).val().replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, "\\$&")); 

、リストはvege tablesを表示するようにフィルタリングする必要があります。

は、私は、\ sがコードに追加しようとしたが、私が期待した通りに動作しない:

var search = $.trim($(this).val().replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|\s]/g, "\\$&")); 

が、私は何かが足りないのですか?

答えて

0

ここでは、パターンに基づいて刺しゅうのリストをフィルタリングする方法の例を示します。

function filter(list, pattern) { 
    return list.filter(function(item) { 
    return pattern.test(item); 
    }); 
} 
const list = ['vege tables', 'man eater', 'word']; 
console.log('Current list: ', list); 

var pattern = ' e'; 
console.log('Filter by: "' + pattern + '"'); 

pattern = new RegExp(pattern, 'gi'); // convert the pattern to regex 
console.log(filter(list, pattern)); // get filtered list, ['man eater'] 
+0

ありがとうございます。既存のフィルタリングに悪影響を与えることなく、既存のコードにどのように組み込むことができますか? https://jsfiddle.net/djj2c84t/5/ –

関連する問題