JQuery自定义校验器
自定义校验器:
$.validator.addMethod("校验器的名称",function(value,ele,param){
value:用户录入的值
ele:当前录入的值所在的js对象
param:校验器的取值
return true: 符合校验器规则
return false: 不符合校验器规则 (默认return false)
},"提示信息") 正则的用法:
正则表达式.test(要匹配的值)
若匹配:true
不匹配:false
案例:身份证验证为例子
效果图:
代码:<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script src="../js/jquery-1.11.0.min.js" type="text/javascript" charset="utf-8"></script>
<!--validate校验库-->
<script type="text/javascript" src="../js/jquery.validate.js"></script>
<!--国际化库,中文提示-->
<script type="text/javascript" src="../js/messages_zh.js"></script>
<script type="text/javascript">
$(function() {
$("#formId").validate({
rules: {
card: {
cardLength: true
}
},
messages: {}
})
})
</script>
<script>
//编写校验身份证长度的自定义校验器
$.validator.addMethod("cardLength", function(value, ele, param) {
//判断用户录入的值是否为15位或者18位
// if(value.length==15||value.length==18){
// return true;
// }
if(typeof param != "boolean") {
return true;
}
//校验身份证格式
if(value.length == 15) {
var reg = /^[0-9]{15}$/;
return reg.test(value);
}
if(value.length == 18) {
var reg = /^([0-9]{18}|[0-9]{17}[X|x])$/;
return reg.test(value);
}
}, "身份证格式不正确")
</script>
</head>
<body>
<form id="formId" action="">
身份证:<input type="text" name="card" />
<input type="submit" value="提交" />
</form>
</body>
</html>
|