jQuery限制文本域(textarea)的字数

作者:袖梨 2022-11-14


核心代码

代码如下 复制代码

jQuery(document).ready(function($){
var limitnum = 240;
function limiting(obj, limit) {
//console.log(obj);
var cnt = obj.parent().find(".counter > span");
var txt = $(obj).val();
var len = txt.length;
var current = limit-len;

$(cnt).html(current);

// 如果剩余字数少于0,添加 class warning
if(current $(cnt).addClass("warning");
}else{
//删除超出的文字后,去掉 class warning
$(cnt).removeClass("warning");
}
}

if($("#textarea").length > 0){
//在 textarea 后添加计数器,如果不为空,显示出已有字数
$("#textarea").parent().append("

"+(240-$("#textarea").val().length)+" characters

");
$('#textarea').keyup(function(){
limiting($(this), 240);
});
}
//通常中文的是英文的双倍大。
if($("#textarea_cn").length > 0){
$("#textarea_cn").parent().append("

"+(limitnum/2-$("#textarea_cn").val().length)+" characters

");
$('#textarea_cn').keyup(function(){
limiting($(this), limitnum/2);
});
}
});


例2

限制文字字数输入(添加中文识别)

代码如下 复制代码



function strLenCalc(obj, checklen, maxlen) {
  var v = obj.val(), charlen = 0, maxlen = !maxlen ? 200 : maxlen, curlen = maxlen, len = v.length;
  for(var i = 0; i     if(v.charCodeAt(i) 255) {
curlen -= 1;
}
}
  if(curlen >= len) {
$("#"+checklen).html("还可输入 "+Math.floor((curlen-len)/2)+" 个字").css('color', '');
$("#subBtn").removeAttr("disabled");
} else {
$("#"+checklen).html("已经超过 "+Math.ceil((len-curlen)/2)+" 个字").css('color', '#FF0000');
$("#subBtn").attr("disabled", "disabled");
}
}


还可输入 40 个汉字

相关文章

精彩推荐