博客参考: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个字节)"));