我用jQuery脚本搜索html表并隐藏与输入字符串不匹配的行。
但它有一些问题:
我有一些字符串' Kable i przewody'当我使用一个字母的字符串或以字符串中的任何单词开头时,我的搜索工作正常,即:' Ka',' prze'等
但它没有使用一些使用单词中间字母的字符串: '能够' rze',' ody'。
这是我的代码,请帮助:
var query = getUrlParameter('q');
var $rows = $('.tabelapatrnerzy tr');
$('#szukaj').click(function() {
var val = '^(?=.*\\b' + $.trim($('#wpisywane').val()).split(/\s+/).join('\\b)(?=.*\\b') + ').*$',
reg = RegExp(val, 'i'),
text;
$rows.show().filter(function() {
text = $(this).text().replace(/\s+/g, ' ', /ą/i, '', /ź/i, 'z', /ż/i, 'z',/ó/i ,'o', /ł/i, 'l', /ń/i, 'n', /ć/i, 'c', /ę/i, 'e', /ś/i, 's');
return !reg.test(text);
}).hide();
});
if (query) {
var val = '^(?=.*\\b' + $.trim(query).split(/\s+/).join('\\b)(?=.*\\b') + ').*$',
reg = RegExp(val, 'i'),
text;
$rows.show().filter(function() {
text = $(this).text().replace(/\s+/g, ' ', /ą/i, '', /ź/i, 'z', /ż/i, 'z',/ó/i ,'o', /ł/i, 'l', /ń/i, 'n', /ć/i, 'c', /ę/i, 'e', /ś/i, 's');
return !reg.test(text);
}).hide();
}
答案 0 :(得分:0)
\b
模式匹配单词边界的位置。
要允许字词匹配,只需删除模式中的所有\\b
。