计算个数的方法
function calculate(value) {
let count = 0;
if (!value) {
return count;
}
for (var i = 0; i < value.length; i++) {
count = value.charCodeAt(i) > 255 ? count + 2 : count + 1;
// 从第几个数字大于1000
if (count > 1000) {
sumIndex = i;
return count;
}
}
return count;
}
当触发事件,计算textarea的字数展示在弹窗上并显示字
$("textarea").on("change keyup paste", function () {
let text = $(this).val();
let len = calculate(text);
if (len >= 1000) {
$(".maxNumshu").css("color", "red");
if (len == 1000) {
let text = $(this).val();
len = calculate(text);
if (len < 1000) {
$(".maxNumshu").css("color", "#bdbdbd");
}
} else if (len > 1000) {
let newText = text.slice(0, sumIndex);
len = calculate(newText);
if (len < 1000) {
$(".maxNumshu").css("color", "#bdbdbd");
}
$("textarea").val(newText);
}
} else {
$(".maxNumshu").css("color", "#bdbdbd");
}
$(".maxNumshu").html(len + " / ");
});
<span id="lenSpan"><span class="maxNumshu">0 /</span> 1000</span>