html限制一行长度,限制textarea每行输入字符串长度的js代码

function textCounter(field, maxlimit, lines) {//参数说明:field是textarea对象,maxlimit是最大允许长度,lines是行数

var arr = field.value.split("\n");//首先要为验证行数,通过分行符“\n”

var perLine = "";

var value = "";

if (arr.length < lines) lines = arr.length;//判断行数是否超出规定的行数,超了就把行数改为超出的,因为要算字符串长度

for (loop = 0; loop < lines; loop++) {//循环测数字符串总长度,不多说了

perLine = arr[loop];

if (perLine.length > maxlimit)

perLine = perLine.substring(0, maxlimit);

value = value + perLine;

if (loop != lines - 1)

value = value + "\n";

}

if (field.value != value)

field.value = value;

if (checkstr(value, maxlimit)) {//判断字符串长度是不是超标

field.value = value.substring(0, maxlimit);//删除超除的多余字符串

}

}

function showOverWords(obj, maxlength) {//显示剩余的可输入字符数obj为txteara对象,maxlength最大长度

len = obj.value.length;

$("#wordCount").html(maxlength - len); //jquery 表示修改id为wordCount标签的值

}

function checkstr(str, digit) {//判断中文和英文,字符串的长度是否超标

var n = 0;

for (i = 0; i < str.length; i++) {

var leg = str.charCodeAt(i);//ASCII码

if (leg > 255) {//大于255的都是中文

n += 2;//如果是中文就是2个字节

} else {

n += 1;//英文,不多说了

}

}

if (n > digit) {

return true;

} else {

return false;

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值