一、Jquery Validate 默认校验规则
(1)、required:true 必输字段
(2)、remote:"remote-valid.jsp" 使用ajax方法调用remote-valid.jsp验证输入值
(3)、email:true 必须输入正确格式的电子邮件
(4)、url:true 必须输入正确格式的网址
(5)、date:true 必须输入正确格式的日期,日期校验ie6出错,慎用
(6)、dateISO:true 必须输入正确格式的日期(ISO),例如:2009-06-23,1998/01/22 只验证格式,不验证有效性
(7)、number:true 必须输入合法的数字(负数,小数)
(8)、digits:true 必须输入整数
(9)、creditcard:true 必须输入合法的信用卡号
(10)、equalTo:"#password" 输入值必须和#password相同
(11)、accept: 输入拥有合法后缀名的字符串(上传文件的后缀)
(12)、maxlength:5 输入长度最多是5的字符串(汉字算一个字符)
(13)、minlength:10 输入长度最小是10的字符串(汉字算一个字符)
(14)、rangelength:[5,10] 输入长度必须介于 5 和 10 之间的字符串")(汉字算一个字符)
(15)、range:[5,10] 输入值必须介于 5 和 10 之间
(16)、max:5 输入值不能大于5
(17)、min:10 输入值不能小于10
默认提示
messages: {
required: "This field is required.",
remote: "Please fix this field.",
email: "Please enter a valid email address.",
url: "Please enter a valid URL.",
date: "Please enter a valid date.",
dateISO: "Please enter a valid date (ISO).",
dateDE: "Bitte geben Sie ein g眉ltiges Datum ein.",
number: "Please enter a valid number.",
numberDE: "Bitte geben Sie eine Nummer ein.",
digits: "Please enter only digits",
creditcard: "Please enter a valid credit card number.",
equalTo: "Please enter the same value again.",
accept: "Please enter a value with a valid extension.",
maxlength: $.validator.format("Please enter no more than {0} characters."),
minlength: $.validator.format("Please enter at least {0} characters."),
rangelength: $.validator.format("Please enter a value between {0} and {1} characters long."),
range: $.validator.format("Please enter a value between {0} and {1}."),
max: $.validator.format("Please enter a value less than or equal to {0}."),
min: $.validator.format("Please enter a value greater than or equal to {0}.")
},
二、jQuery.validator.addMethod自定义验证方法
---- addMethod(name,method,message)
参数 name 是添加的方法的名字。
参数 method 是一个函数,接收三个参数 (value,element,param) 。value 是元素的值,element 是元素本身,param 是参数。
参数message是提示信息
下面是例子
1、html页面
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>js校验</title>
<script src="../js/jquery-1.11.1.min.js" type="text/javascript"></script>
<script src="../js/jquery.validate.min.js" type="text/javascript"></script>
<script src="verificationTest.js" type="text/javascript"></script>
</head>
<body>
<form id="myform" action="" method="post">
<table>
<tr>
<td>姓名</td>
<td> <input type="text" id="name" name="name"></td>
</tr>
<tr>
<td>年龄</td>
<td><input type="text" id="age" name="age"></td>
</tr>
<tr>
<td>账号</td>
<td> <input type="text" id="account" name="account"></td>
</tr>
<tr>
<td>手机</td>
<td> <input type="text" id="mobile" name="mobile"></td>
</tr>
<tr>
<td>电话</td>
<td> <input type="text" id="phone" name="phone"></td>
</tr>
<tr>
<td>身份证</td>
<td><input type="text" id="code" name="code"></td>
</tr>
<tr>
<td>类型</td>
<td><select name="type">
<option value="0">请选择</option>
<option value="1">1</option>
<option value="2">2</option>
</select></td>
</tr>
<tr>
<td><input type="submit" id="myformSubmit" value="确定"></td>
</tr>
</table>
</form>
</body>
</html>
js页面
$(function () {
// 手机号码验证
jQuery.validator.addMethod("mobile", function(value, element) {
var length = value.length;
var mobile = /^(((13[0-9]{1})|(15[0-9]{1}))+\d{8})$/
return this.optional(element) || (length == 11 && mobile.test(value));
}, "手机号码格式错误");
// 电话号码验证
jQuery.validator.addMethod("phone", function(value, element) {
var tel = /^(0[0-9]{2,3}\-)?([2-9][0-9]{6,7})+(\-[0-9]{1,4})?$/;
return this.optional(element) || (tel.test(value));
}, "电话号码格式错误");
// 字母和数字的验证
jQuery.validator.addMethod("charAndNum", function(value, element) {
var chrnum = /^([a-zA-Z0-9]+)$/;
return this.optional(element) || (chrnum.test(value));
}, "只能输入数字和字母(字符A-Z, a-z, 0-9)");
// 中文的验证
jQuery.validator.addMethod("chinese", function(value, element) {
var chinese = /^[\u4e00-\u9fa5]+$/;
return this.optional(element) || (chinese.test(value));
}, "只能输入中文");
// 下拉框验证
$.validator.addMethod("selectNone", function(value, element,param) {
return value != param[0];
}, "必须选择一项");
//整数位,小数位验证
jQuery.validator.addMethod("decimal", function(value, element, param) {
return this.optional(element) || new RegExp("^-?\\d{1," + (param[0] != null ? param[0] : "") + "}" + (param[1] != null ? (param[1] > 0 ? "(\\.\\d{1," + param[1] + "})?$" : "$") : "(\\.\\d+)?$")).test(value);
}, $.validator.format("内容输入错误或者格式错误:整数位最多{0}位,小数位最多{1}位"));
// 验证值必须大于特定值(不能等于)
jQuery.validator.addMethod("gt", function(value, element, param) {
return value > param[0];
}, $.validator.format("输入值必须大于 {0}!"));
$("#myform").validate({
rules: {
name: { required: true, rangelength:[1,10] ,chinese:true},
age:{ required: true,decimal:[2,2]},
account : { required: true,charAndNum:true },
mobile : {required: true,mobile:true},
phone : {required: true,phone:true},
code : {required: true ,gt:[10]},
type : {required: true ,selectNone:[0]}
},
messages: {
name: { required: '请填写真实姓名', rangelength : '请输入1-10个字' },
age:{ required: '请填写手机号' },
account : {required: '请填写账号'},
mobile : {required: '请填写手机号' },
phone : {required: '请填写电话号' },
code : {required: '请填写身份证'},
type : {required: '请选择类型'}
}
});
});
$("#myform").click(function () {
//验证是否通过
if (!$("#myform").valid()) {
return;
}
//其他代码
});
效果
比较实用,网上查了查,自己整理试了一下,记录下来,以便不时之需