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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为什么UTF-8字符在jquery textcomplete中不起作用?相关的知识,希望对你有一定的参考价值。

我在我的网络应用程序中使用自动完成器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 + ' ';
  }
}]);
<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>

这里的词'тоҷик''english'正在运作,但'ҷаҳон'不是。我怎样才能解决这个问题?

我需要以下信件才能工作:ғ,ӯ,қ,ҳ,ҷ,ӣа-я

答案

Similar question已经回答了。

$('#textcomplete').textcomplete([{
  words: ['тоҷик', 'ҷаҳон', 'english'],
  match: /(^|S*)([^u0000-u007f]{2,}|w{2,})$/,
  search: function(term, callback) {
    callback($.map(this.words, function(word) {
      return word.indexOf(term) === 0 ? word : null;
    }));
  },
  index: 2,
  replace: function(word) {
    return word + ' ';
  }
}]);
<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 id="textcomplete"></textarea>

以上是关于为什么UTF-8字符在jquery textcomplete中不起作用?的主要内容,如果未能解决你的问题,请参考以下文章

python 爬取 豆瓣电影top250 存储到mysql

在chrome更新后,jQuery ajax调用无法从网页解码到utf-8字符集到Chrome扩展

chrome 更新后,jQuery ajax 调用无法从网页解码为 utf-8 字符集到 Chrome 扩展中

jQuery自动完成ajax请求不显示返回的数据

jQuery Keypad:如何制作上标字符?

jQuery 将 ISO 字符集设置为 ajax 请求