当使用 jQuery 达到限制时,如何将字数限制设置为 200 并且不允许输入并在文本区域旁边显示警告?用户可以输入中文或英文字符。
中文和英文的计算方式一样吗?
我只是使用内置函数设置长度[1,200]
当使用 jQuery 达到限制时,如何将字数限制设置为 200 并且不允许输入并在文本区域旁边显示警告?用户可以输入中文或英文字符。
中文和英文的计算方式一样吗?
我只是使用内置函数设置长度[1,200]
我不知道中文是否可行,但你可以这样做:
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();
}
});
});
在此处查看结果(只需更改10
为200
)。
它说一些与中文有关的东西,但对我来说没有中文限制。
这是一个简单的答案。想法来自This GitHub Repo
中文和英文的计算方式不一样,如果按字节长度计算,你会发现中文是英文的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;
}