修改jquery.validate.js计算中文字符长度的规则。
//新增函数:获取含有中文的字符长度,后端数据库是UTF-8编码,汉字占三个字节
getChineseLength:function(str){
var len = 0;
for (var i=0; i<str.length; i++) {
if (str.charCodeAt(i)>127) {
len += 3;
} else {
len ++;
}
}
return len;
},
//更正原有的函数
getLength: function( value, element ) {
switch ( element.nodeName.toLowerCase() ) {
case "select":
return this.getChineseLength($( "option:selected", element ));
case "input":
if ( this.checkable( element ) ) {
return this.getChineseLength(this.findByName( element.name ).filter( ":checked" ));
}
}
return this.getChineseLength(value);
},