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

    技术2022-05-19  26

          最近发现用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 }


    最新回复(0)