码迷,mamicode.com
首页 > Web开发 > 详细

jQuery-formvalidatior

时间:2014-07-23 00:33:57      阅读:400      评论:0      收藏:0      [点我收藏+]

标签:des   style   blog   http   java   os   

下载API帮助、源码、示例
http://files.cnblogs.com/wzmaodong/formValidator4.0.1.zip


示例代码
<script type="text/javascript">
$(document).ready(function(){
 $.formValidator.initConfig({onError:function(){alert("校验没有通过,具体错误请看错误提示")}});
 $("#test1").formValidator({onshow:"请输入用户名",onfocus:"用户名至少6个字符,最多10个字符",oncorrect:"恭喜你,你输对了"}).InputValidator({min:6,max:10,onerror:"你输入的用户名非法,请确认"});

 $("#test2").formValidator({onshow:"请选择你的兴趣爱好(至少选择3个,最多选择5个)",onfocus:"你至少选择3个,最多选择5个",oncorrect:"恭喜你,你选对了"}).InputValidator({min:3,max:5,onerror:"你选的个数不对(至少选择3个,最多选择5个)"});

 $("#test3").formValidator({onshow:"请选择你的兴趣爱好(至少选一个)",onfocus:"你至少选择1个",oncorrect:"恭喜你,你选对了"}).InputValidator({min:1,onerror:"你选的个数不对"});

 $("#xueli").formValidator({onshow:"请选择你的学历",onfocus:"学历必须选择",oncorrect:"谢谢你的配合"}).SelectValidator({onerror: "你是不是忘记选择学历了!"});

 $("#password1").formValidator({onshow:"请输入密码",onfocus:"两次密码必须一致哦",oncorrect:"密码一致"}).InputValidator({min:1,onerror:"密码不能为空,请确认"}).CompareValidator({desID:"password2",operateor:"=",onerror:"2次密码不一致,请确认"});

 $("#nl").formValidator({onshow:"请输入的年龄(1-99岁之间)",onfocus:"只能输入1-99之间的数字哦",oncorrect:"恭喜你,你输对了"}).InputValidator({min:1,max:99,type:"value",onerror:"年龄必须在1-99之间,请确认"});

 $("#aiguo").formValidator({onshow:"爱国的人一定要选哦",onfocus:"你得认真思考哦",oncorrect:"不知道你爱不爱,反正你是选了"}).InputValidator({min:1,max:1,onerror:"难道你不爱国?你给我选!!!!"});

 $("#shouji").formValidator({empty:true,onshow:"请输入你的手机号码,可以为空哦",onfocus:"你要是输入了,必须输入正确",oncorrect:"谢谢你的合作",onempty:"你真的不想留手机号码啊?"}).InputValidator({min:11,max:11,onerror:"手机号码必须是11位的,请确认"}).RegexValidator({regexp:"^[1][0-9]{10}$",onerror:"你输入的手机格式不正确"});

 $("#lxdh").formValidator({empty:true,onshow:"请输入你的联系电话,可以为空哦",onfocus:"你要是输入了,必须输入正确,格式例如:0577-88069620",oncorrect:"谢谢你的合作",onempty:"你真的不想留联系电话了吗?"}).RegexValidator({regexp:"^[[0-9]{3}-|\[0-9]{4}-]?(\[0-9]{8}|[0-9]{7})?$",onerror:"你输入的联系电话格式不正确"});

 $("#ms").formValidator({onshow:"请输入你的描述",onfocus:"描述至少要输入10个汉字或20个字符",oncorrect:"恭喜你,你输对了"}).InputValidator({min:20,onerror:"你输入的描述长度不正确,请确认"});
});
</script>
调用JS示例:
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <title>jQuery validation plug-in - main demo</title>
		<link rel="stylesheet" type="text/css" media="screen" href="css/screen.css" />
        <script type="text/javascript" src="js/jquery.js"></script>
        <script type="text/javascript" src="js/jquery.validate.js"></script>
        
<script type="text/javascript">
/*********************************************************************************************************/	
	/*
	 * 自定义验证方法
	 * $.validator.addMethod(name,method,message);
	 * 		* $.validator.addMethod()是固定写法
	 * 		* name:添加的方法的名字
	 * 		* method:一个函数,function(value,element,param){}
	 * 			* value:对应页面中元素的value属性值
	 * 			* element:对应页面中的元素
	 * 			* param:参数
	 * 		* message:错误提示信息
	 */
	$.validator.addMethod("cartLength",function(value,element,param){
		var len = value.length;
		
		if(len!=15&&len!=18){
			return false;
		}
		
		return true;
		
	});
	
	$.validator.addMethod("cartCheck",function(value,element,param){
		var len = value.length;
		
		var flag; 
		
		if(len==15){
			var pattern = /^[0-9]{15}$/;
			
			flag = pattern.test(value);
		}
		
		if(len==18){
			var pattern  = /^[0-9]{18}|[0-9]{17}x$/;
			
			flag = pattern.test(value);
		}
		
		if(!flag){
			return false;
		}
		
		return true;
		
		
	});

/*********************************************************************************************************/	
	
	$().ready(function(){
		
		$("#empForm").validate({
			rules:{
				realname:"required",
				username:{
					required:true,
					rangelength:[5,8]
				},
				psw:{
					required:true,
					rangelength:[6,12]
				},
				psw2:{
					required:true,
					rangelength:[6,12],
					equalTo:"#psw"
				},
				gender:"required",
				age:{
					required:true,
					range:[26,50]
				},
				edu:"required",
				birthday:{
					required:true,
					dateISO:"yyyy/MM/dd"
				},
				checkbox1:"required",
				email:{
					required:true,
					email:"true"
				},
				cart:{
					required:true,
					cartLength:true,
					cartCheck:true
				}
			},
			messages:{
				realname:"真是名称不能为空",
				username:{
					required:"登录名不能为空",
					rangelength:"登录名的长度应该在5至8之间"
				},
				psw:{
					required:"密码不能为空",
					rangelength:"密码的长度应该在6至12之间"
				},
				psw2:{
					required:"密码不能为空",
					rangelength:"密码的长度应该在6至12之间",
					equalTo:"两次密码输入不一致"
				},
				gender:"你没有第三种选择",		//如果在页面中设置其对应的label标签进行提示,在验证规则的信息提示中可以不设置相关内容
				age:{
					required:"年龄不能为空",
					range:"年龄必须在26至50之间"
				},
				edu:"至少要选择一个学历",
				birthday:{
					required:"出生日期不能为空",
					dateISO:"出生日期格式不正确"
				},
				email:{
					required:"email不能为空",
					email:"email地址的格式不正确"
				},
				cart:{
					required:"身份证号码不能为空",
					cartLength:"身份证号码长度不正确",
					cartCheck:"身份证号码的格式不正确"
				}
			}
		});
		
	});


</script>
</head>
<body>
    <p>员工信息录入</p>
<form name="empForm" id="empForm" method="post" action="test.html">
		<table border=1>
			<tr>
				<td>真实姓名(不能为空 ,没有其他要求)</td>
				<td><input type="text" id="realname" name="realname" />
				</td>
			</tr>
			<tr>
				<td>登录名(登录名不能为空,长度应该在5-8之间,可以包含中文字符(一个汉字算一个字符)):</td>
				<td><input type="text" id="username" name="username" /></td>
			</tr>
			 <tr> 
		      <td>密码(不能为空,长度6-12字符或数字,不能包含中文字符):</td>
		      <td><input type="password" id="psw"  name="psw" style="width:120px" /></td>
		    </tr>
		    <tr> 
		      <td>重复密码(不能为空,长度6-12字符或数字,不能包含中文字符):</td>
		      <td><input type="password" id="psw2" name="psw2" style="width:120px" /></td>
		    </tr>
			<!--
                                          默认错误提示信息,在放置在页面的表单中第一个控件后面
				<label  style="display: none" for="gender" class="error">请选择性别</label>
					* for:值对应的是页面表单中name属性的值
					* class:设置样式,设置"error"样式
					* style:"display: none",设置成隐藏
				
				* 在jquery表单验证框架运行时,原理如下:
					* 首先,表单验证框架会在页面中查找对应的label标签
						* 在页面中查找对应label标签,错误提示信息就提示页面中label标签内的文本信息
						* 在页面中没有找到对应label标签,就通过验证框架底层创建一个label标签进行错误信息的提示
				
				
				errorClass: "error",
				validClass: "valid",
				errorElement: "label",
				
				
				label = $("<" + this.settings.errorElement + "/>")			//<label></label>
					.attr({"for":  this.idOrName(element), generated: true})//<label for="gender"></label>
					.addClass(this.settings.errorClass)						//<label for="gender" class="error"></label>
					.html(message || "");									//<label for="gender" class="error">错误提示信息</label>
				   				   
			-->
		    <tr>
				<td>性别(必选其一)</td>
				<td>
				    <input  type="radio" id="gender_male" value="m" name="gender"/>男
				    <input  type="radio" id="gender_female" value="f" name="gender"/>女
				    <label  style="display: none" for="gender" class="error">请选择性别</label>
				</td>
			</tr>
			<tr>
				<td>年龄(必填26-50):</td>
				<td><input type="text" id="age" name="age" /></td>
			</tr>
			
		    <tr> 
		      <td>你的学历:</td>
		      <td> <select name="edu" id="edu">
			          <option value="">--请选择你的学历--</option>
			          <option value="a">专科</option>
			          <option value="b">本科</option>
			          <option value="c">研究生</option>
			          <option value="e">硕士</option>
			          <option value="d">博士</option>
		          </select>
			  </td>
		    </tr>
			
			<tr> 
              <td>出生日期(1982/09/21):</td>
               <td><input type="text" id="birthday"  name="birthday" style="width:120px" value="" /></td>
            </tr>
			
		   <tr> 
		      <td>兴趣爱好:</td>
		      <td colspan="2"> 
			      <input type="checkbox" name="checkbox1" id="qq1"/>乒乓球 
		          <input type="checkbox" name="checkbox1" id="qq2" value="1" />羽毛球 
		          <input type="checkbox" name="checkbox1" id="qq3" value="2" />上网 
		          <input type="checkbox" name="checkbox1" id="qq4" value="3" />旅游 
		          <input type="checkbox" name="checkbox1" id="qq5" value="4" />购物 
				  <label  style="display: none" for="checkbox1" class="error">您的兴趣爱好,至少选择一个</label>
			  </td>
		    </tr>
			 <tr> 
			      <td align="left">电子邮箱:</td>
			      <td><input type="text" id="email" style="width:120px" name="email" /></td>
			  </tr>
			  <tr> 
			      <td align="left">身份证(15-18):</td>
			      <td><input type="text" id="cart"  style="width:200px" name="cart" /></td>
			  </tr>
			<tr>
				<td></td>
				<td></td>
				<td><input type="submit"  name="firstname"  id="firstname" value="保存"></td>
			</tr>
		</table>

</form>
<script language="JavaScript">
	
</script>

</body>
</html>


jQuery-formvalidatior,布布扣,bubuko.com

jQuery-formvalidatior

标签:des   style   blog   http   java   os   

原文地址:http://my.oschina.net/u/1765238/blog/293884

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!