为什么UTF-8字符在jquery textcomplete中不起作用?

Joh*_*ohn 5 javascript jquery autocomplete utf-8 cyrillic

我在我的网络应用程序中使用自动完成程序jquery-textcomplete.它适用于英语和俄语字母.但它不适用于某些特殊字母,如"ҷ".

码:

$('.form-control').textcomplete([{
  words: ['?????', '?????', 'english'],
  match: /(^|[^\w?-???])([\w?-??]{2,})$/i,
  search: function(term, callback) {
    callback($.map(this.words, function(word) {
      return word.indexOf(term) === 0 ? word : null;
    }));
  },
  index: 2,
  replace: function(word) {
    return '$1' + word + ' ';
  }
}]);
Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.textcomplete/1.8.4/jquery.textcomplete.min.js"></script>

<textarea class="form-control"></textarea>
Run Code Online (Sandbox Code Playgroud)

这里的话'?????''english'工作但'?????'不是.我怎样才能解决这个问题?

我需要以下信件才能工作:?,?,?,?,?,??-?.

big*_*ess 2

类似的问题已经得到回答。

\n\n

\r\n
\r\n
$(\'#textcomplete\').textcomplete([{\r\n  words: [\'\xd1\x82\xd0\xbe\xd2\xb7\xd0\xb8\xd0\xba\', \'\xd2\xb7\xd0\xb0\xd2\xb3\xd0\xbe\xd0\xbd\', \'english\'],\r\n  match: /(^|\\S*)([^\\u0000-\\u007f]{2,}|\\w{2,})$/,\r\n  search: function(term, callback) {\r\n    callback($.map(this.words, function(word) {\r\n      return word.indexOf(term) === 0 ? word : null;\r\n    }));\r\n  },\r\n  index: 2,\r\n  replace: function(word) {\r\n    return word + \' \';\r\n  }\r\n}]);
Run Code Online (Sandbox Code Playgroud)\r\n
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>\r\n<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.textcomplete/1.8.4/jquery.textcomplete.min.js"></script>\r\n\r\n<textarea id="textcomplete"></textarea>
Run Code Online (Sandbox Code Playgroud)\r\n
\r\n
\r\n

\n