我在这个搜索表中有多个单词并显示多个结果。但是我搜索“男性”和“女性”这样的确切词有问题,当我搜索“男性”时,女性也会显示,因为女性有“男性”字样。我怎样才能找到确切的字?
if (!RegExp.escape) {
RegExp.escape = function (s) {
return s.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g, "\\$&")
};
}
jQuery(function ($) {
///search this table
$(' #search ').click(function () {
var searchthis = new RegExp($(' #emp_search ').val().replace(/ /g,"|"), 'i');
alert(searchthis);
$("table").find("tr").slice(1).each(function (index) {
// var text = $(this).find("td").text().toLowerCase().trim();
var text = $.trim($(this).text());
$(this).toggle(searchthis.test(text));
});
});
});
答案 0 :(得分:1)
$(function () {
$(' #search ').click(function () {
var str = $('#emp_search').val();
var strary = str.split(' ');
$("table").find("tr").slice(1).each(function (index) {
var text = $.trim($(this).text());
for (var i = 0; i < strary.length; i++) {
var regex = new RegExp(".*\\b" + strary[i] + "\\b\.*", "gi");
$(this).toggle(regex.test(text));
if (regex.test(text)) break;
}
});
});
});
答案 1 :(得分:1)
刚刚添加了一个空格:
var searchthis = new RegExp(' '+$(' #emp_search ').val().replace(/ /g,"|"), 'i');
并更新了你的小提琴:http://jsfiddle.net/ANLgD/12/