您的位置:首页 > Web前端 > JQuery

分享一个验证页面文本框输入长度的jquery方法

2011-03-03 15:10 501 查看
最近发现用TextBox的MaxLength属性限制输入内容的长度不靠谱,它把汉字算一个字符,而在数据库中则是算2个。这样就导致如果输入内容中含有汉字且字数达到最大输入长度,在数据库进行insert、update操作时就会报错。因此需要在客户端验证输入内容中的汉字,不多说了直接上代码:

function checkInputControlLen() {
var res = true;
$("input[type='text']").each(function() {
if ($.trim($(this).attr("value")) != "" && this.id != "ctl00_ContentPlaceHolder1_SelectParOrg_txtarea") {
if (strlength($.trim($(this).attr("value"))) > $(this)[0].maxLength) {
res = false;
//alert($.trim($(this).parent().prev()[0].innerText) + "输入过长");td对象的innerText在火狐中不支持。
alert("-" + $.trim($(this).parent().prev().text()) + "输入过长");//text方法比较完美,不存在问题。
//alert($(this)[0].parentNode.parentNode.childNodes[0].innerHTML + "输入过长");td的innerHTML不存在浏览器的兼容问题,但在alert中出现html不合适
return false;
}
}
});
return res;
}
/*统计字符个数(一个汉字算2个)*/
function strlength(str) {
var strl = 0;
var l = str.length;
for (var i = 0; i < l; i++) {
//全角字符
if (str.charCodeAt(i) < 0 ||  str.charCodeAt(i) > 255)
strl = strl + 2;
else
strl++;
}
return strl
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐