我使用jQuery腳本通過html表進行搜索,並隱藏與匹配的字符串不匹配的行。jQuery中的簡單搜索無法正常工作
但它有一些問題:
我有字符串「Kable我przewody」的一些元素和我的搜索工作是否正常,當我在字符串中使用字符串用一個字母或開頭的單詞,即:「嘉」, 'prze'等
但它不適用於某些使用單詞中間字母的字符串: 'able','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();
}
如果您需要單詞匹配,請刪除單詞邊界'\\ b's。 –
就是這樣,謝謝。我必須更多地瞭解js中的正則表達式。請製作禮物,以便我可以將其標記爲正確。 – Aksebkit