jQuery单词和字符数(中英文)

时间:2013-07-25 03:00:26

标签: jquery

当使用jQuery达到限制时,如何将字数限制设置为200并且不允许输入并在文本区域旁边显示警告?用户可以输入中文或英文字符。

中文和英文是否以同样的方式计算?

我刚使用了build in function设置长度[1,200]

3 个答案:

答案 0 :(得分:0)

我不知道中文是否会起作用,但你可能会这样做:

<强> HTML

<input type="text" name="input" />
<span></span>

<强>的jQuery

$(function(){
    $('input[name="input"]').keyup(function(){
        if($(this).val().length > 10){
            $('span').html('You can\'t type more than 10 characters!');
        }else{
            $('span').empty();
        }
    });
});

请参阅result here(只需将10更改为200)。

答案 1 :(得分:0)

它说的是与中文相关的内容,但对我来说不适用中文。

jQuery Text Counter Plugin

答案 2 :(得分:0)

这是一个简单的答案。 想法来自This GitHub Repo
中文和英文的计算方式不一样,如果用byteLength计算,你会发现中文是英文的2倍 你可以尝试下面的代码。

/*useByteLength
function checkTextLength($element) {
  txtCount = $element.val().replace(/[^\x00-\xff]/g, "pp").length + 
  ($element.val().match(/\n/g) || []).length;
  return txtCount;
}

如果你的病情需要用同样的方式计算中文和英文,你可以尝试一下。

 /*count Chinese and English  in the same way
 function checkTextLength($element) {
  txtCount = $elements.val().length + ($elements.val().match(/\n/g) || []).length;
  return txtCount; 
}