需要jquery和jquery.Validata的包。

一、需要注意的是有时候表单错误提示的位置不是我们想要的,所以我们要去人为的干预:
不满足校验规则,表单校验插件就会定义一个lable标签, 如果表单校验插件定义的lable标签不符合我们的要求,就要自己定义一个lale标签,让标签开始的时处于隐藏状态, for=”sex“ 通过name的属性值gender找到要校验的标签 generate=”true" 写上:那么就会自动在messages中获取填写错误是的提示信息 不写:就会默认使用lable标签中的错误提示信息
二、自定义验证规则
写在页面中加载事件的里边Validata函数的外边
格式: 属性 函数
$.validator.addMethod("校验规则名称",function(value,element,params){ .........})
function:
value:input标签的value属性值;文本输入框中用户输入的内容
element:input标签对象
params:自定义规则传递参数。
下面是一些基本的校验规则和两个自定义校验规则(更多校验规则也可以去菜鸟教程的jquery中的jquery-validata自己去查看)
(自定义校验规则是校验身份证号时)

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>jQuery validation plug-in - main demo</title>
<link rel="stylesheet" href="css/screen.css">
<script src="./js/jquery.min.js"></script>
<script src="./js/jquery.validate.min.js"></script>
<script>
$().ready(function() {
$.validator.addMethod("sfidnum",function(value,element,params){
if (value.length!=18){
return false;
}
return true;
});
$.validator.addMethod("sfid",function(value,element,params){
var reg = /^[0-9]{17}[0-9X]$/
if (value.length=18){
return reg.test(value);
}
return true;
});
$("#test").validate({
submitHandler:function(form){
alert("提交事件!");
form.submit();
},
rules:{
username:{
required:true,
rangelength:[3,5]
},
password:{
required:true,
minlength:5
},
repassword:{
required:true,
minlength:5,
//通过id来与密码比较是否相同
equalTo:"#password"
},
sex:"required",
age:{
required:true,
//rang指的是数字的大小,而rangelength指的是长度
range:[26,45],
//年龄必须是整数
digits:true
},
bir:{
required:true,
//必须满足日期格式YYYY-MM-dd
dateISO:true,
//检验日期的有效性
date:true
},
sid:{
required:true,
sfidnum:true,
sfid:true
}
},
messages:{
username:{
required:"不能为空",
rangelength:"3到5位"
},
password:{
required:"必须填写",
minlength:"长度不能小于5"
},
repassword:{
required:"不能为空",
minlength:"长度不能小于5",
equalTo:"与密码不同,请在此输入!"
},
sex:"必选其一",
age:{
required:"不能为空",
//rang指的是数字的大小,而rangelength指的是长度
range:"年龄必须在26到45岁之间",
//年龄必须是整数
digits:"年龄必须是则整数"
},
bir:{
required:"不能为空",
//必须满足日期格式YYYY-MM-dd
dateISO:"请按YYYY-MM-dd的日期格式书写",
date:"日期不正确"
},
sid:{
required:"不能为空",
sfidnum:"18位",
sfid:"只有最后一位可以是x"
}
}
});
});
</script>
</head>
<body>
<div id="main">
<form name="test" id="test" method="post" action="test.jsp">
<div>
<label>姓名</label>
<input type="text" name="username" >
</div>
<div>
<label>密码</label>
<input type="password" id="password" name="password" >
</div>
<div>
<label>重复密码</label>
<input type="password" name="repassword" >
</div>
<div>
<label>性别:</label>
<input type="radio" name="sex" value="男"> 男
<input type="radio" name="sex" value="女"> 女
<!--
不满足校验规则,表单校验插件就会定义一个lable标签,
如果表单校验插件定义的lable标签不符合我们的要求,就要自己定义一个lale标签,让标签开始的时处于隐藏状态,
for=”sex“ 通过name的属性值gender找到要校验的标签
generate=”true"
写上:那么就会自动在messages中获取填写错误是的提示信息
不写:就会默认使用lable标签中的错误提示信息
-->
<label generated="true" class="error" for="sex" style="display: none;"></label>
</div>
<div>
<label>年龄</label>
<input type="text" name="age" >
</div>
<div>
<label>出生日期</label>
<input type="text" name="bir" >
</div>
<div>
<label>身份证号</label>
<input type="text" name="sid" >
</div>
<div>
<input type="submit" name="submit">
</div>
</form>
</div>
</body>
</html>