[jQuery] DataTablesで半角スペースを含む文字列を検索
DataTablesを使ってる一覧テーブルで、「Ren, Wu」みたいに半角スペースを含む文字列を1単語として検索したいと言われた
DataTablesはスマートサーチ(a smart search)という検索機能(検索アルゴリズム)があって、デフォルトの状態でスマートサーチに設定されている。
スマートサーチでできる事
- 例えば、「Allan Fife」を検索すると、「Allan」と「Fife」両方を含む行が返される(「Allan」と「Fife」が別カラムに存在していても)
例えば、「Allan Hoge, Chris Fite」はヒット、「Allan Hoge」はヒットしない - 部分一致検索
例えば、「active」で検索すると、「active」も「activein」も「inactive」ヒット - ダブルクォーテーションで囲った文字列は、1単語扱いとなる
例えば、「"Allan Fife"」で検索すると「Allan Fife」がヒットし、「Allan is in Fife」にはヒットしない
DataTables 1.10から追加
結果 : 検索したい文字列をダブルクォーテーションで囲むで解決
例えば
「apple, banana」の結果が欲しい場合、「apple, banana」で検索すると、「apple, banana, orange」と「apple, orange, banana」もヒットする
「"apple, banana"」で検索すると、「apple, banana, orange」だけがヒットする
See the Pen DataTables Search for an exact phrase by AgoPeanuts (@AgoPeanuts) on CodePen.