Я хочу убрать нечувствительность к регистру в функциональности поиска jquery

        const query = $(this).val();
        console.log(query);
        $('.wilipedia-item').each(function () {
            let title = $(this).find('.wilipedia-item__title h5').text().toLowerCase();
            let description = $(this).find('.wilipedia-item__desc').text().toLowerCase();

            if (title.includes(query) || description.includes(query)) {
                title = title.replace(query, '<span class="highlight">' + query + '</span>');
                description = description.replace(query, '<span class="highlight">' + query + '</span>');

                $(this).find('h5').html(title);
                $(this).find('.wilipedia-item__desc').html(description);

            }
            $(this).toggle($(this).find('h5, .wilipedia-item__desc').text().includes(query))
        });

    });

У меня есть этот код, я применил функцию поиска по заголовку и описанию, но это похоже на то, что я должен преобразовать их в маленькие или большие буквы, тогда это работает, но я хочу убрать чувствительность к регистру, используя индекс of, но я запутался, как это сделать? Есть ли кто-нибудь, кто может мне помочь

Используйте регулярное выражение. Мы будем использовать флаг игнорирования регистра i. Также не забудьте экранировать поисковый термин, чтобы он был действителен для RegExp.

function escapeRegExp(string) {
  return string.replace(/([.*+?^=!:${}()|\[\]\/\\])/g, "\\$1");
}

function includes(big, small) {
  var reg = new RegExp(escapeRegExp(small), "i");
  return (!!big.match(reg))
}

var title = "I am Big strIng";
var query = "STRING";

// do this
console.log(includes(title, query))

// instead of this:
console.log(title.includes(query))

Вернуться на верх