jQuery Validate自定义验证规则校验文本框输入字符数和提示还可输入字符数

方式一和方式二总体区别不大,可以算作同一种方法与方法三一起使用可以校验最大输入字数和提示还可输入多少字符(onchange()事件)
方式一
$.validator.addMethod(“stringMaxLength”,function(value,element,params){
var length = value.length;
alert(“value:”+length +"------params:" + params[0]);
for( var i = 0; i < value.length; i++ ) {
if( value.charCodeAt(i) > 19967 ) {
length++;
}
}
alert("++length:"+length);
//if (length>params[0])
return length>params[0]?false:true;
},“最大长度不能超过{0}个字符,一个汉字为两个字符”);

$.validator.addMethod("stringMaxLength",function(value,element,params){
	var length = value.length;
	alert("value:"+length +"------params:" + params[0]);
	for( var i = 0; i < value.length; i++ ) {
		if( value.charCodeAt(i) > 19967 ) {
			length++;
		}
	}
	var res="";
	var result = false;
	alert("++length:"+length);
	var maxlenths =params[0]*2;
	if (length>maxlenths){
		res = "最大长度不能超过"+params[0]+"个字符,一个汉字为两个字符";
		result = false;
	}else if (length==maxlenths) {
		res = "已输入最大长度"+params[0]+"个字符";
		result = false;
	}else{
		var index = maxlenths-length;
		res = "还可输入不超过"+index+"个字符,一个汉字为两个字符";
	}
	$.validator.messages.stringMaxLength = res;
	return result;
});
方式二
$.validator.addMethod("stringMaxLength",function(value,element,params){
	var length = value.length;
	alert("value:"+length +"------params:" + params[0]);
	for( var i = 0; i < value.length; i++ ) {
		if( value.charCodeAt(i) > 19967 ) {
			length++;
		}
	}
	var res="";
	var result = true;
	alert("++length:"+length);
	var maxlenths =params[0]*2;
	if (length>maxlenths){
		res = "最大长度不能超过"+params[0]+"个字符,一个汉字为两个字符";
		result = false;
	}/*else if (length==maxlenths) {
		res = "已输入最大长度"+params[0]+"个字符";
		result = false;
	}else{
		var index = maxlenths-length;
		res = "还可输入不超过"+index+"个字符,一个汉字为两个字符";
		//result = false;
	}*/
	//$.validator.messages.stringMaxLength = res;
	$(element).data('error-msg',res);
	return result;
}, function(params, element) {
	return $(element).data('error-msg');
});

方式三
function changetext(){
var value =$("#content").val();
var params =800;
var length = value.length;
for( var i = 0; i < value.length; i++ ) {
if( value.charCodeAt(i) > 19967 ) {
length++;
}
}
var res="";
var result = true;
//alert("++length:"+length);
var maxlenths =params;
/if (length>maxlenths){
res = “最大长度不能超过”+params+“个字符,一个汉字为两个字符”;
result = false;
}else if (length==maxlenths) {
res = “已输入最大长度”+params+“个字符”;
result = false;
}else{
var index = maxlenths-length;
res = “还可输入不超过”+index+“个字符,一个汉字为两个字符”;
}
/
if (length<=maxlenths){
var index = maxlenths-length;
res = “还可输入不超过”+index+“个字符,一个汉字为两个字符”;
}
$("#font_sise").html(res);
return result;
}

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值