如何限制textarea标签文本长度

如何限制textarea标签文本长度,第1张

方旁则法1:使用maxlength属性

<textarea

id="mess-input"

type="text"

name="message"

maxlength="10"></textarea><br>

使用maxlength即可限制最大字符数,但该属性不兼容IE8,所以考虑用下面的办法。

方法2:js实现-达到最大长度后禁用键盘输入

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 中的新属历雀枯性。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12532810.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-26
下一篇 2023-05-26

发表评论

登录后才能评论

评论列表(0条)

保存