jq表单验证

<!DOCTYPE html>
<html>
 <head>
  <title>手工实现表单验证</title>
  <meta charset="utf-8" />
  <script src="scripts/jquery-1.11.3.js"></script>
 </head>

 <body>
  <fieldset>
	<legend>用户注册页面</legend>
	<!--
		在javascript代码中,如何获取form表单
		* 通过id属性值获取表单
		* 通过name属性值获取表单
		* document.forms - 获取当前页面所有表单元素(数组)
		* document.表单名称
		<form>元素
		* id属性 - 表单标识
		* name属性 - 表单名称
		* action属性 - 提交表单的地址
		* method属性 - 请求类型(GET或POST)
		<form>表单提交的方式
		* 在表单定义submit按钮
		* 表单绑定onsubmit事件
		* <form>元素具有submit()方法
	-->
	<form id="myform" name="myform" οnsubmit="return formValidator();">
		<table>
			<tr>
				<td>用户名:</td>
				<td><input type="text" id="user"></td>
				<!-- 显示提示内容 -->
				<td><div id="userTip"></div></td>
			</tr>
			<tr>
				<td>密码:</td>
				<td><input type="password" id="pwd"></td>
				<!-- 显示提示内容 -->
				<td><div id="pwdTip"></div></td>
			</tr>
			<tr>
				<td>确认密码:</td>
				<td><input type="password" id="repwd"></td>
				<!-- 显示提示内容 -->
				<td><div id="repwdTip"></div></td>
			</tr>
			<tr>
				<td>email地址:</td>
				<td><input type="text" id="email"></td>
				<!-- 显示提示内容 -->
				<td><div id="emailTip"></div></td>
			</tr>
			<tr>
				<td></td>
				<td><input type="submit" id="rigist" value="注册"></td>
				<td></td>
			</tr>
		</table>
	</form>
  </fieldset>
  <script>
	/*
	 * 表单验证需求
	 * * 用户名 - 不能为空,只能输入英文+数字,长度在6-12之间
	 * * 密码 - 不能为空,只能输入英文,长度在6-8之间
	 * * 确认密码 - 与密码的要求一致,两次密码输入一致
	 * * email - 不能为空
	 *
	 * 效果
	 * * 获取焦点事件 - 给出输入提示内容
	 * * 失去焦点事件 - 完成对应元素的验证
	 *   * 验证成功 - 给出输入正确提示
	 *   * 验证失败 - 给出输入错误提示
	 * * 当提交表单之前,保证表单内所有元素全部验证通过的
	 */
	function userValidator(){
		// 定义正则表达式
		var regExp = /^[a-zA-Z0-9]{6,12}$/;
		var $myval = $("#user").val();
		// a. 不能为空
		if($myval == "" || $myval == null){
			$("#userTip").text("用户名不能为空.").css({
				"color" : "red",
				"font-weight" : "bold"
			});
			return false;
		}
		// b. 英文+数字,长度6-12
		else if(!regExp.test($myval)){
			$("#userTip").text("用户名输入错误.").css({
				"color" : "red",
				"font-weight" : "bold"
			});
			return false;
		}
		// 输入正确
		else{
			$("#userTip").text("用户名输入正确.").css({
				"color" : "green",
				"font-weight" : "bold"
			});
			return true;
		}
	}
	function pwdValidator(){
		// 定义正则表达式
		var regExp = /^[a-zA-Z]{6,8}$/;
		var $myval = $("#pwd").val();
		// a. 不能为空
		if($myval == "" || $myval == null){
			$("#pwdTip").text("密码不能为空.").css({
				"color" : "red",
				"font-weight" : "bold"
			});
			return false;
		}else if(!regExp.test($myval)){
			$("#pwdTip").text("密码输入错误.").css({
				"color" : "red",
				"font-weight" : "bold"
			});
			return false;
		}else{
			$("#pwdTip").text("密码输入正确.").css({
				"color" : "green",
				"font-weight" : "bold"
			});
			return true;
		}
	}
	function repwdValidator(){
		// 定义正则表达式
		var regExp = /^[a-zA-Z]{6,8}$/;
		var $myval = $("#repwd").val();
		var $pwd = $("#pwd").val();
		// a. 不能为空
		if($myval == "" || $myval == null){
			$("#repwdTip").text("密码不能为空.").css({
				"color" : "red",
				"font-weight" : "bold"
			});
			return false;
		}else if(!regExp.test($myval)){
			$("#repwdTip").text("密码输入错误.").css({
				"color" : "red",
				"font-weight" : "bold"
			});
			return false;
		}
		// 两次密码输入一致
		else if($myval != $pwd){
			$("#repwdTip").text("两次密码输入不一致.").css({
				"color" : "red",
				"font-weight" : "bold"
			});
			return false;
		}else{
			$("#repwdTip").text("密码输入正确.").css({
				"color" : "green",
				"font-weight" : "bold"
			});
			return true;
		}
	}
	function emailValidator(){
		if($("#email").val() == "" || $("#email").val() == null){
			$("#emailTip").text("email输入错误.").css({
				"color" : "red",
				"font-weight" : "bold"
			});
			return false;
		}else{
			$("#emailTip").text("email输入正确.").css({
				"color" : "green",
				"font-weight" : "bold"
			});
			return true;
		}
	}
	
	// 1. 用户名验证
	$("#user").focus(function(){
		// 给出输入提示内容
		$("#userTip").text("请输入英文或数字,长度在6至12之间.").css({
			"color" : "black",
			"font-weight" : "normal"
		});
	}).blur(userValidator);
	// 2. 密码验证
	$("#pwd").focus(function(){
		$("#pwdTip").text("请输入英文,长度在6至8之间.").css({
			"color" : "black",
			"font-weight" : "normal"
		});
	}).blur(pwdValidator);
	// 3. 确认密码验证
	$("#repwd").focus(function(){
		$("#repwdTip").text("请输入英文,长度在6至8之间.").css({
			"color" : "black",
			"font-weight" : "normal"
		});
	}).blur(repwdValidator);
	// 4. email验证
	$("#email").focus(function(){
		$("#emailTip").text("email不能为空.").css({
			"color" : "black",
			"font-weight" : "normal"
		});
	}).blur(emailValidator);
	/*
	 * 5. 提交表单前,验证所有元素验证通过
	 *  * 为<form>表单元素绑定onsubmit事件
	 *  * 事件对象时,return value(Boolean值)
	 *    * 是否阻止页面元素的默认行为
	 *      * false,表示阻止元素的默认行为
	 *  * 定义formValidator()必须具有返回值(Boolean)
	 */
	function formValidator(){
		// 判断表单内所有元素验证全部通过
		if(userValidator()&&pwdValidator()&&repwdValidator()&&emailValidator()){
			//alert("表单验证成功!");
			return true;
		}else{
			//alert("表单验证失败!");
			return false;
		}
	}
  </script>
 </body>
</html>

html页面:

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值