<textarea
id="mess-input"
type="text"
name="message"
maxlength="10"></textarea><br>
使用maxlength即可限制最大字符数,但该属性不兼容IE8,所以考虑用下面的办法。
window.onload
=
function()
{
document.getElementById('text1').onkeydown
=
function()
{
if(this.value.length
>=
10)
event.returnValue
=
false
}
}
上述代码在textarea值长度超过10时,禁用键盘输入。但该方法在firefox17浏览器中不兼容,且有两个bug。
1.长度达到最大以后,由于屏蔽键盘动作,已输入的文本内容无法删除和编辑。
2.如果使用ctrl+v直接粘贴入一段长度超限的文本,则该方法无效。
方法3:js实现-用substr方法截取textarea前端若干字内容
function
limitLength(obj,
length)
{
var
desc
=
obj.value
obj.value
=
substr(obj.value,
length)
}
function
substr(str,
length)
{
var
l
=
0,
i
=
0
while
(l
<
length
&&
i
<
str.length)
{
l
+=
1
if
(str.substring(i,
i
+
1).match(/[\u4e00-\u9fa5]/))
l
+=
2
i
+=
1
}
return
str.substring(0,
i)
}
该升启孙方法监测文本框输入,当超出最大长度时,从前面截取最大长度个字节放入文本框中。该方法在各浏吵链览器中均支持,且无方法2中的各种问题。
以上就是限制<textarea>标签最大字符数的3种方法,如果需要分别限制中英文字符数的话,在js代码前加一段正则表达式匹配,并分别做限制即可。
中文及字符正则表达式:
/[^
-~]+/g
ASCII码正则表达式:
/\D+/g
实例最大字符长岁则度为 50 的文本区域:
<textarea maxlength="50">
Enter text here...
</textarea>
maxlength 属性规定肢洞文本区域的最大长度(以字符计)。
HTML 4.01 与 HTML 5 之间的差异
maxlength 属性是 <textarea>标签在 HTML5 中的新属历雀枯性。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)