简单搜索jQuery无法正常工作

时间:2017-06-21 11:32:22

标签: javascript jquery regex search

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

1 个答案:

答案 0 :(得分:0)

\b模式匹配单词边界的位置。

要允许字词匹配,只需删除模式中的所有\\b