Posted in Javascript onOctober 31, 2012
但是textarea没有这个属性。
asp.net的服务端textbox这个属性也不起效,所以我们只有用js脚本来控制
好,废话不多说,先上代码
javascipt源码:
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; } }
ok上面有三个函数,我们通过调用这三个函数就可以实现我们所想要的功能
js限制textarea每行输入字符串长度的代码
声明:登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。
Reply on: @reply_date@
@reply_contents@