自定义 jquery.validate.js 校验方法

博客参考:http://blog.csdn.net/yangxiaovip/article/details/21550145 


jquery.validate.js 是一个前端 form 表单校验插件,具体详情可以百度一下。


jquery.validate.js 不仅自身内置有封装一些常用的前端校验,还提供便捷的 自定义校验方法 进行拓展。


前端内置自带校验:

 

required:true               必填字段
remote:"check.php"           使用ajax方法调用check.php验证输入值
email:true                   输入内容必须为正确格式的电子邮件
url:true                     输入内容必须为正确格式的网址
date:true                   输入内容必须为正确格式的日期
只验证格式,不验证有效性
number:true                 输入内容必须为合法的数字(负数,小数)
digits:true                 输入内容必须为整数
creditcard:                 输入内容必须为合法的信用卡号
equalTo:"#field"           输入值必须和#field相同
accept: "gif|png|jpg" 输入拥有合法后缀名的字符串(上传文件的后缀),多个后缀之间用’|’隔开
maxlength:5                 输入长度最多是5的字符串(汉字算一个字符)
minlength:10               输入长度最小是10的字符串(汉字算一个字符)
rangelength:[5,10]         输入长度必须介于 5 和 10 之间的字符串")(汉字算一个字符)
range:[5,10]               输入值必须介于 5 和 10 之间
max:5                       输入值不能大于5

min:10                     输入值不能小于10


自定义校验方法:

//普通 正则验校验例子   :只允许输入中文或字母

$.validator.addMethod("chineseAndLetter", function(value, element) {
		var score = /^[a-zA-Z\u4e00-\u9fa5]+$/;
		return this.optional(element) || (score.test(value));
	}, "请输入中文或字母");

// 根据脚本调用验证方法时设定参数进行辅助校验 例子:校验输入内容的长度(中文算两个字节)    单个参数

jQuery.validator.addMethod("byteLength", function(value, element,param) {
		var length ="";
		var regu = "^[a-zA-Z\u4e00-\u9fa5]+$";
		var re = new RegExp(regu);
		if (value.search(re) != -1) {
			length = value.replace(/[\u0391-\uFFE5]/g, "aa").length;
		}
		return this.optional(element)|| (length >= param);     //parm:js中调用该方法时传入的参数,例如:byteLength:4  
       }, $.validator.format("请至少输入 {0} 个字节内容(一个中文算2个字节)"));
 
  

//前端脚本传入多个参数

jQuery.validator.addMethod("byteRangeLength", function (value, element, param) {             var length = value.length;             for (var i = 0; i < value.length; i++) {                 if (value.charCodeAt(i) > 127) {                     length++;                 }             }             return this.optional(element) || (length >= param[0] && length <= param[1]);   //前端脚本传入多个参数,param[0] 取第一个传入的参数;

//parm[1] 取传入的第二个参数

//前端脚本调用改方法:byteRangeLength: [2,10]

        }, $.validator.format("请确保输入的值在{0}-{1}个字节之间(一个中文字算2个字节)"));  

 
 

你可能感兴趣的:(前端)