操作方法:修改jquery.autocomplete正则表达式以显示以给定输入开头的结果

时间:2011-12-15 12:44:38

标签: javascript jquery regex jquery-ui jquery-ui-autocomplete

我不知道修改下面的代码会向我显示带有输入字符的开始这个词。例如:如果我键入E或e,它会显示“Electrical,Electronics ,机械“,但我只想要”电气,电子“显示。如何做到这一点?

我正在使用jquery autocomplete插件。

source: function(request, response) {
        var matcher = new RegExp($.ui.autocomplete.escapeRegex(request.term), "i");
        response(select.children("option").map(function() {

         var text = $(this).text();
         if (this.value && (!request.term || matcher.test(text)))
             return {
             label: text.replace(
                 new RegExp(
                 "(?![^&;]+;)(?!<[^<>]*)(" +
                     $.ui.autocomplete.escapeRegex(request.term) +
                     ")(?![^<>]*>)(?![^&;]+;)", "gi"
                 ), "<strong>$1</strong>"),
             value: text,
             option: this
            };
      }));

1 个答案:

答案 0 :(得分:9)

在Javascript RegExp中,^表示 startsWith

var matcher = new RegExp("^" + $.ui.autocomplete.escapeRegex(request.term), "i");