Javascript регулярное выражение для слов, включая пробелы и другие символы - PullRequest
0 голосов
/ 01 марта 2019

Поиск строки: «полномочия»

Факт:

Полномочия

PCP / Полномочия

Ожидается:

Полномочия

PCP / Полномочия

Я пытаюсь выделить жирным шрифтомрезультаты поиска, но я хочу выделять только точные совпадения.Я использовал это регулярное выражение, но он не дает желаемого результата.

        $(event.target).autocomplete({
                        minLength: 1,
                        source: $(event.target).attr("data-source").replace("[","").replace("]","").split(",")
        }).data("ui-autocomplete")._renderItem = function(ul, item) {
            var term = this.term,
                regex = new RegExp('\\b' + term + '\\b', 'gi');
                label = item.label.replace(regex, '<b style="font-weight: bold;">$&</b>');
                $link = $("<a></a>").html(label);
            return $("<li></li>").append($link).appendTo(ul);
        };

1 Ответ

0 голосов
/ 01 марта 2019

Поскольку вы хотите выделять жирным шрифтом только точную эквивалентность, то почему бы просто не использовать == для сравнения строки:

    $(event.target).autocomplete({
                    minLength: 1,
                    source: $(event.target).attr("data-source").replace("[","").replace("]","").split(",")
    }).data("ui-autocomplete")._renderItem = function(ul, item) {
        var term = this.term;
        if (item.label == 'Authorizations') {
            label = '<b style="font-weight: bold;">Authorizations</b>';
        }
        else {
            label = item.label;
        }
        $link = $("<a></a>").html(label);

        return $("<li></li>").append($link).appendTo(ul);
    };
...