Как я могу заставить поиск Javascript игнорировать специальные символы (диакритические знаки)? - PullRequest
0 голосов
/ 26 мая 2020

Я составляю список контактов, содержащий телефоны и электронную почту учреждений. Я помещаю каждое учреждение в div (class = "container"). Вверху страницы я помещаю поисковый ввод:

<input type="text" id="textFind">

Затем я использовал JQuery для фильтрации DIV в соответствии с вводом:

//makes contains case insensitive
$.expr[":"].contains = $.expr.createPseudo(function(arg) {
    return function(elem) {
        return $(elem).text().toUpperCase().indexOf(arg.toUpperCase()) >= 0;
    };
});

//filters divs
$("#textFind").keyup(function() {
    var stringPesquisa = $(this).val();
    $(".container").hide();
    $('div:contains(' + stringPesquisa + ')').show()
});

Он работает нормально , НО:

ВОПРОС 1: Мне нужно, чтобы он игнорировал акценты (например: «gerencia» может возвращать «Gerência», «primaria» может возвращать «primária»). Я пробовал много способов сделать это, пока ничего не помогло. Есть идеи?

ВОПРОС 2: Я изучаю Javascript и JQuery, поэтому даже функция «без учета регистра» работает правильно, я просто не могу понять код. Может кто-нибудь объяснить это?

Заранее спасибо! : -)

...