【www.bbyears.com--jquery】
代码如下//先判断浏览器是不是万恶的IE
word">var
bind_name =
'input'
;
//默认事件
word">if
(navigator.userAgent.indexOf(
"MSIE"
) != -1) {
bind_name =
'propertychange'
;
//不要脸IE独享的事件
}
var
maxlength = 10;
//限定输入字数
$(
'#Comment'
).bind(bind_name,
function
() {
//给textarea绑定事件
var
strlen = $(
this
).val().replace(/[^\x00-\xff]/g,
"aa"
).length;
//读取转换得到长度,中文转换成2个长度,英文空格忽视算1个长度
$(
'#aviableCount'
).text(
function
() {
//一个span显示现在输入多长了
if
(Math.ceil(strlen / 2) > maxlength) {
//超过限定长度,只显示最大数
return
maxlength;
}
else
{
return
Math.ceil(strlen / 2);
//为什么要除以2呢,因为前面中文算两个长度,这里我们要转回来,0.5的中文长度算1个中文长度
}
});
if
(strlen > maxlength * 2) {
//输入超过最大长度,就进行截取
for
(i = 1; i > 0; i++) {
$(
this
).val($(
this
).val().substr(0, $(
this
).val().length - 1));
if
($(
this
).val().replace(/[^\x00-\xff]/g,
"aa"
).length <= maxlength * 2) {
break
;
}
}
}
})