JQuery验证表单

为什么要使用jquery

JQuery是提供大量的JS的类库,理解为对js的方法、属性、dom操作的封装,需要区分js和jquery的方法。

如何使用jquery

需要引入jquery文件,下面是几个引入jquery的地址:

<script src="https://code.jquery.com/jquery-3.1.1.min.js"></script>

3.0.0版本:

<script src="https://code.jquery.com/jquery-3.0.0.min.js"></script>

2.1.4版本:

  <script src="http://code.jquery.com/jquery-2.1.4.min.js"></script>

百度压缩版引用地址:

<script src="http://libs.baidu.com/jquery/2.1.4/jquery.min.js"></script>

jquery有压缩版和解压版,压缩版相对较小,但是功能是一样的

JQuery的作用

  • ​jquery 封装了大量的API ,可以基本替代javascript的原生方法
  • jquery 可以操作 样式 ,美化页面
  • jquery可以完成页面的dom元素的添加,删除,访问,检索 ,遍历
  • jquery可以提供ajax的封装
  • jquery UI 提供很多 ui组件。 (用户界面 )
  • jquery 提供大量的事件, 提供一些表单验证的组件

JQuery的加载方式

$(document).ready(function(){
代码块
}
类似于js的加载方法
window.οnlοad=function(){
也可以写jquery代码

}
以上两种写法区别
1、 onload 写法必须等待网页加载完 ,执行包裹语句块 ,ready 只需网页的dom结构加载完,即可执行
2、 onload 只能在页面上 写一次,第二个次会覆盖 ,ready 可以写多次 ,依次按顺序加载
3、onload 没有简写 ready 可以简写

JQuery的选择器

有基本选择器,层级选择器,冒号选择器和属性选择器。

用js怎么验证?

		<script type="text/javascript">
			
			function validateUname(obj){
				var msg=document.getElementById("msg");
				var info="";
				var flag=true;
				if (obj.value=='') {
					info+="用户名不能为空<br/>";
					flag=false;
				} else{
					var regexp= /[0-9a-zA-Z]{8,16}/ ;
					if(!regexp.test(obj.value)){
						info+="用户名不合法<br/>";
						flag=false;
					}
				}
				msg.innerHTML=info;
				return flag;
			}
			function validatePassword(){
				var msg = document.getElementById("msg");
				var info="";
				var flag=true;
				var pwd=document.getElementsByName("password")[0].value;
				var repwd=document.getElementsByName("repassword")[0].value;
				if (pwd=='') {
					info+="密码不能为空<br/>";
					flag=false;
				}else{
					if (pwd!=repwd) {
						info+="两次密码不一致<br/>";
						flag=false;
					}
				}
				msg.innerHTML=info;
				return flag;
			}
			function validateAge(){
				var msg= document.getElementById("msg");
				var info="";
				var flag=true;
				var age=document.getElementsByName("age")[0].value;
//				alert("age");
				if (age=='') {
					debugger;
					info+="年龄不可以为空<br/>";
					
					flag=false;
					
				}else{
					if(age<0||age>100){
						info+="年龄不合法<br/>";
						flag=false;
					}
				}
				msg.innerHTML=info;
				return flag;
			}
			function validateBir(){
				var msg=document.getElementById("msg");
				var info="";
				var flag=true;
				var bir=document.getElementsByName("birthday")[0].value;
				if(bir==''){
					info+="生日不能为空<br/>";
					flag=false;
				}
				msg.innerHTML=info;
				return flag;
			}
			
			function validatephone(){
				var msg=document.getElementById("msg");
				var info="";
				var flag=true;
				var phone=document.getElementsByName("phone")[0].value;
				if(phone==''){
					info+="电话不能为空<br/>";
					flag=false;
				}else{
					var regexp = /1[0-9]{10}/;
					if(!regexp.test(phone)){
						info+="电话号码不合法<br/>";
						flag=false;
					}
				}
				msg.innerHTML=info;
				return flag;
			}
			
			
			function validata2(){
			   	   var username=document.getElementsByName("username")[0];
			       // 阻止表单提交 
			    
			       var v_flag=true;
			       //验证用户名
			       if(!validateUname(username)){
			       		v_flag=false;
			       }
			       
			        if(!validatePassword()){
			       		v_flag=false;
			       }
			        
			        if(!validateAge()){
			       		v_flag=false;
			       }
			           if(!validatephone()){
			       		v_flag=false;
			       }
			           if (!validateBir()) {
			           	v_flag=false;
			           }

			       //document.getElementById("msg").innerHTML=msg2;
			       return v_flag;
			   }
			
		</script>
	</head>
	<body>
		<div>
			<span id="msg">
				
			</span>
			<form action="index.html" method="get" onsubmit="return validata2()">
			<h2>用户信息录入</h2>
		用户名:<input type="text" name="username" onblur="validateUname(this)"/><br />
		密码:<input type="text" name="password" onblur="validatePassword()"/><br />
		确认密码:<input type="text" name="repassword"/><br />
		年龄:<input type="text" name="age" onblur="validateAge()"/><br />
		生日:<input type="text" name="birthday" onblur="validateBir()"/><br />
		手机号码:<input type="text" name="phone" onblur="validatephone()"/><br />
		<button>录入</button>
		</form>
		</div>
	</body>

如果不用jquery去验证,js代码的量会很大。

JQuery验证表单

首先导入jquery,再导入Jquery Validate提供了一套有用的表单验证规则,接着是支持中文的语言包。

<script src="js/jquery-1.11.1.js" type="text/javascript"></script>
	<script type="text/javascript" src="js/jquery.validate.min.js" ></script>
     <script type="text/javascript" src="js/messages_zh.js" ></script>

验证表单的完整代码:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title>JQuery表单验证</title>
		<style type="text/css">
			/* div{
				margin-top: 50px;
				/* text-align: center; 
			}
			form{
				margin-top: 20px;
				margin-bottom: 20px;
			}
			span{
				
			} */
			.error{
				color: red;
			  	 font-weight: bold;
			}
		</style>
	</head>
	<body>
		<!-- <div class="div" align="center" style="border: 1px solid red;"> -->
		<form id="myform" action="index.html" method="get">
			<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;氏:</span><input type="text" name="firstname" value="" /><br>
			<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;字:</span><input type="text" name="lastname" value="" /><br>
			<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;码:</span><input type="password" name="password" value="" /><br>
			<span>确认密码:</span><input type="password" id="repassword" value="" /><br>
			<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;箱:</span><input type="text" name="email" value="" /><br>
			<span>手机号码:</span><input type="text" name="phone" value="" /><br>
			<button>提交</button> <button type="reset">重置</button>
			
			
	</body>
	<script src="js/jquery-1.11.1.js" type="text/javascript"></script>
	<script type="text/javascript" src="js/jquery.validate.min.js" ></script>
     <script type="text/javascript" src="js/messages_zh.js" ></script>
	<script type="text/javascript">
		$(function(){
			$("#myform").validate({
     		 	  rules:{
     		 	  	   firstname:"required",  // 对name=firstname的文本框  增加 必填校验
     		 	  	    lastname:{
     		 	  	    	required:true,
     		 	  	    	minlength:2
     		 	  	    },
     		 	  	    password:"required",
     		 	  	    repassword:{
     		 	  	    	  required:true,
     		 	  	    	  equalTo:"#password" // 与 id=password的input框 必须一致 
     		 	  	    },
									email:"required"
     		 	  },
     		 	  messages:{
     		 	  	   firstname:"请输入您的姓氏",
     		 	  	   lastname:{
     		 	  	   	  required:"名字必填",
     		 	  	   	  minlength:"最小2个长度"
     		 	  	   },
     		 	  	    password:"密码必填",
     		 	  	    repassword:{
     		 	  	    	  required:"确认密码必填",
     		 	  	    	  equalTo:"两次密码必须一致" // 与 id=password的input框 必须一致 
     		 	  	    },
									email:"亲,邮箱必填哦"
     		 	  }
     		 	  
     		 	
     		 });
		});
	</script>
</html>

其实$("#myform").validate()里面是jeson格式。

注意

rules里面的属性名是HTML标签的name 属性,不是id属性,不要搞错!(如firstname lastname).
今天改错了检查了半天。哈哈。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值