jQuery 对表单的简单验证

jQuery 对表单的简单验证
参考资料:
《锋利的jQuery》    作者: 单东林 张晓菲 魏然    出版社: 人民邮电出版社

页面初始化后效果如图:
页面初始化
代码如下:
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
	<head>
	  	<script type="text/javascript" src="js/jquery-1.7.2.js"></script>
		<script type="text/javascript">
			$(function() {
				//为必填项加上红色星号
				$(":input.required").each(function() {
					$(this).after("<span style='color: #ff0000'>*</strong>");
				});
				
				//输入框失去焦点事件
				$(":input").blur(function() {
					$(this).siblings(".msg").remove();	//清空以前的提示
					if ($(this).is("#username")) {	//当前元素为用户名输入框
						if ($(this).val() == "" || $(this).val().length < 6) {
							var msg = "用户名不得低于6位";
							$(this).next().after("<span class='msg error'>" + msg + "</span>");
						} else {
							var msg = "√";
							$(this).next().after("<span class='msg right'>" + msg + "</span>");
						}
					}
					if ($(this).is("#email")) {		//当前元素为邮箱输入框
						var regex = /^[a-zA-Z0-9]([a-zA-Z0-9]*[-_.]?[a-zA-Z0-9]+)+@([\w-]+\.)+[a-zA-Z]{2,}$/;
						if ($(this).val() == "" || !regex.test($(this).val())) {
							var msg = "E-Mail地址有误";
							$(this).next().after("<span class='msg error'>" + msg + "</span>");
						} else {
							var msg = "√";
							$(this).next().after("<span class='msg right'>" + msg + "</span>");
						}
					}
				}).bind("focus keyup", function() {
					//键入和获取焦点时触发 blur 事件,并阻止浏览器默认动作
					$(this).triggerHandler("blur");
				});
				
				//提交按钮 click 事件
				$("#send").click(function() {
					$(":input.required").trigger("blur");	//触发输入控件的 blur 事件
					if ($(".error").length > 0) {	
						return false;		//有错误信息时,阻止表单提交
					} else {
						alert("表单成功提交");
					}
				});
			});	
		</script>  	
		
		<!-- CSS -->
		<style type="text/css">
			.alignLeft {text-align: left;}
			.alignRight {text-align: right;}
			.error {color: #ff0000;}
			.right {color: #00ff00;}
		</style>
  	</head>
  
  	<!-- HTML -->
  	<body>
  		<form action="reg.jsp" method="post">
  			<table>
  				<tr>
  					<td class="alignRight"><label for="username">用户名:</label></td>
	  				<td class="alignLeft"><input type="text" id="username" class="required" /></td>
	  			</tr>
	  			<tr>
	  				<td class="alignRight"><label for="email">邮箱:</label></td>
	  				<td class="alignLeft"><input type="text" id="email" class="required" /></td>
	  			</tr>
	  			<tr>
	  				<td class="alignRight"><label for="personInfo">个人资料:</label></td>
	  				<td class="alignLeft"><input type="text" id="personInfo" /></td>
	  			</tr>
	  			<tr>
	  				<td></td>
	  				<td>
		  				<input type="submit" id="send" value="提交" />
		  				<input type="reset" id="reset" />
	  				</td>
	  			</tr>
  			</table>
  		</form>
  	</body>
</html>

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值