santiago1983

学无止境

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

textArea的字符数限制输入在IE老大哥面前表现很无力啊。

没有关系,js能够帮助我们解决问题。

现在看看问题一:限制特定内容的输入

为了给各位看官省时省心,最高效最方便就是采用正则:

以禁止特殊字符输入为例:

var NONE_ASCII_CHARS = /[^ \t-~]/g;
if (NONE_ASCII_CHARS.test(valueSp)) {
alert('Please remove any special characters or symbols.')
}

valueSp定义为textarea的值内容。将事件确定为keydown 和keyup两项时发生。其它情况,各位自己更改正则规则。

问题二:限制输入内容的字符数

我们可以定义一个checkLength的方法,

var checkLength = function(control, length) {
if (control != null && control != 'undefined') {
var area = $(control);
if (area.val().length > length) {//handle paste
area.val(area.val().slice(0, length));
alert("Please input less than " + length + " characters.");
return false;
}
}
return true;
}

在textArea里的属性中加入 onchange="return checkLength(this, 450)" onkeyup="return checkLength(this, 450)"

代码如下:

<textarea type="text" wrap="virtual" onchange="return checkLength(this, 450)" onkeyup="return checkLength(this, 450)"></textarea>

this为目标对象,450为字符数。

这样一来,textarea的问题就能轻松解决了。


posted on 2012-01-31 11:47  santiago1983  阅读(162)  评论(0编辑  收藏  举报