1

我在文本框上使用 keyup() 事件,它将 AJAX 请求发送到 php 文件。输入通常是中文/韩文/日文文本。问题是这些语言的输入法是基于拉丁语的,然后你按一个数字,它就会把它转换成字符。例如,

在此处输入图像描述

即使拉丁文根本没有出现在文本框中,每个字母都是作为 AJAX 请求发送的,所以它必须在那里,但“不可见”或其他东西。例如,如果我输入“ni hao”,以下内容将作为请求发送:

  1. n
  2. NIH
  3. 你哈
  4. 你好
  5. 你好

即使只有你好出现在文本框中。这导致了很多浪费的 AJAX 查询,那么我将如何将查询限制为仅限中文字符?

4

1 回答 1

2

这确实很不雅,但也许您可以检查最后输入的字符的字符代码,看看它是否高于英文字符的字符代码(通常为60-100):

 $('textarea').on('keyup',function(e) {
    var value = $(this).val(),
        length = value.length,
        lastChar = value.substring(length-1, length),
        charCode = lastChar.charCodeAt(0);

    if (charCode > 200) {
        // $.ajax()  
    }
});
于 2013-06-09T02:16:21.687 回答