gpt4 book ai didi

javascript - 如何使用正则表达式使用数据表进行多值或列搜索?

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:15:40 26 4
gpt4 key购买 nike

我正在使用 https://datatables.net/examples/api/multi_filter.html

连同使用“;”的 vbrouchet 注释输入多个搜索条件:

.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();
} );

我有 fiddle 要弹:http://jsfiddle.net/mjbeller/3zqswwzt/

最佳答案

Avinash - 感谢边界上的帮助 \b

我使用了它:

table.columns().every(function () {
var that = this;
$('input', this.footer()).on('keyup change', function () {
var arr = this.value.split(";");
var pattern = ("\\b" + arr.join('\\b|\\b') + '\\b'); // full word
// var pattern = this.value.replace(/;/g, '|') // fuzzy search
that
.search( pattern, true, false )
.draw();
});
});

关于javascript - 如何使用正则表达式使用数据表进行多值或列搜索?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32024776/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com