我正在使用https://datatables.net/examples/api/multi_filter.html,结合vbrouchet的建议,使用";"输入多个搜索条件:
.search (this.value.replace(/;/g, '|'), true, false)
这很好用,我可以在列搜索中输入“1;3”以查找所有具有“1”或“3”的列值。我想要搜索单个整数(例如,“1”不应匹配“12”)。我有一个正则表达式可以工作,例如,要搜索1,我可以使用
如果我想搜索“1”或“3”:
.search (this.value.replace(/;/g, '|'), true, false)
这很好用,我可以在列搜索中输入“1;3”以查找所有具有“1”或“3”的列值。我想要搜索单个整数(例如,“1”不应匹配“12”)。我有一个正则表达式可以工作,例如,要搜索1,我可以使用
(?<![0-9])1(?![0-9])
。如果我想搜索“1”或“3”:
(?<![0-9])1(?![0-9])|(?<![0-9])3(?![0-9])
我尝试了各种选项,但无法用正确的正则表达式替换输入的字符串。
我尝试过:
$( 'input', this.footer() ).on( 'keyup change', function () {
// build search string using (?<![0-9])1(?![0-9])
var arr = this.value.split(';');
var pattern = "(?<![0-9])" + arr.join("(?![0-9])|(?<![0-9])") + "(?![0-9])"
that
// .search( this.value.replace(/;/g, '|'), true, false )
.search( this.value = pattern, true, false )
.draw();
} );
我有一个需要演示的代码片段:http://jsfiddle.net/mjbeller/3zqswwzt/