jQuery验证表单

<!DOCTYPE html>
<html>

	<head>
		<meta charset="UTF-8">
		<title>注册验证</title>
		<script src="../js/jquery-1.8.3.min.js" type="text/javascript" charset="utf-8"></script>
		<script>
			$(function() {
				var ok1 = false;
				var ok2 = false;
				var ok3 = false;
				var ok4 = false;
				$("#username").on("blur", function() {
					var uPattern = /^[a-zA-Z0-9]{4,16}$/;
					if(uPattern.test($("#username").val())) {
						$("#username_msg").html("正确");
						$("#username_msg").css("color", "#0033FF");
						ok1 = true;
					} else {
						$("#username_msg").html("用户名格式不正确");
						$("#username_msg").css("color", "red");
						ok1 = false;
					}
				});
				$("#password").on("blur", function() {
					var uPattern = /^[a-zA-Z0-9]{4,16}$/;
					if(uPattern.test($("#password").val())) {
						$("#password_msg").html("正确");
						$("#password_msg").css("color", "#0033FF");
						ok2 = true;
					} else {
						$("#password_msg").html("密码格式不正确");
						$("#password_msg").css("color", "red");
						ok2 = false;
					}
				});
				$("#rePassword").on("blur", function() {
					var uPattern = /^[a-zA-Z0-9]{4,16}$/;
					if(uPattern.test($("#rePassword").val()) && ($("#rePassword").val()) == $("#password").val()) {
						$("#rePassword_msg").html("正确");
						$("#rePassword_msg").css("color", "#0033FF");
						ok3 = true;
					} else {
						$("#rePassword_msg").html("重复密码不匹配");
						$("#rePassword_msg").css("color", "red");
						ok3 = false;
					}
				});
				$("#email").on("blur", function() {
					var ePattern = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
					if(ePattern.test($("#email").val())) {
						$("#email_msg").html("正确");
						$("#email_msg").css("color", "#0033FF");
						ok4 = true;
					} else {
						$("#email_msg").html("邮箱不能为空或格式不正确");
						$("#email_msg").css("color", "red");
						ok4 = false;
					}
				});
				$(":submit").click(function() {
					if(ok1 && ok2 && ok3 && ok4) {
							$("#submit_msg").html("");
						$('form').submit();
					} else {
						$("#submit_msg").html("请完成表单填写!");
						$("#submit_msg").css("color", "red");
						return false;
					}
				});
			});
		</script>
	</head>
	<style type="text/css">
		* {
			margin: 0px;
			padding: 0px;
		}
		
		#loginDiv {
			width: 500px;
			oveflow: hidden;
			border: 1px solid #ccc;
			margin: 30px auto;
			background-color: #eee;
		}
		
		.top {
			height: 40px;
			line-height: 40px;
			border-bottom: 1px solid #ccc;
			text-indent: 1em;
			font-weight: bold;
		}
		
		#loginDiv p {
			line-height: 24px;
			height: 24px;
			margin: 14px;
		}
		
		#btn {
			padding: 5px 10px;
			cursor: pointer;
			margin-left: 66px;
		}
		
		#msg {
			line-height: 24px;
			height: 24px;
			margin: 14px;
		}
		span {
			font-size: 13px;
		}
	</style>

	<body>
		<form action="" method="post">
			<div id="loginDiv">
				<div class="top">会员注册</div>
				<p>用户名:<input type="text" id="username">  *  <span id="username_msg"></span></p>
				<p>密码:<input type="password" id="password">  *  <span id="password_msg"></span></p>
				<p>确认密码:<input type="password" id="rePassword">  *  <span id="rePassword_msg"></span></p>
				<p>邮箱:<input type="text" id="email">  *  <span id="email_msg"></span></p>
				<p>性别: <input type="radio" name="sex" checked="checked">男 <input type="radio" name="sex">女</p>
				<input type="submit" value="注册" id="btn" /><span id="submit_msg"></span>
			</div>
		</form>
	</body>
</html>

使用 jQuery 提交表单有同步和异步两种常见方式: ### 同步提交表单 同步提交会使页面跳转至表单 `action` 属性指定的地址。以下是示例代码: ```html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>jQuery 同步表单提交</title> <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script> </head> <body> <form id="myForm" action="/submit" method="post"> <label for="name">姓名:</label> <input type="text" id="name" name="name"> <br> <label for="email">邮箱:</label> <input type="email" id="email" name="email"> <br> <button id="submitBtn">提交</button> </form> <script> $(document).ready(function() { $('#submitBtn').click(function() { $('#myForm').submit(); }); }); </script> </body> </html> ``` 在上述代码中,为按钮绑定 `click` 事件,点击按钮时调用 `$('#myForm').submit()` 方法提交表单。 ### 异步提交表单(AJAX) 异步提交不会使页面跳转,而是在后台与服务器交互。以下是示例代码: ```html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>jQuery 异步表单提交</title> <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script> </head> <body> <form id="myForm" action="/submit" method="post"> <label for="name">姓名:</label> <input type="text" id="name" name="name"> <br> <label for="email">邮箱:</label> <input type="email" id="email" name="email"> <br> <button id="submitBtn">提交</button> </form> <div id="result"></div> <script> $(document).ready(function() { $('#submitBtn').click(function(e) { e.preventDefault(); // 阻止表单默认提交行为 var formData = $('#myForm').serialize(); // 序列化表单数据 $.ajax({ url: $('#myForm').attr('action'), type: $('#myForm').attr('method'), data: formData, success: function(response) { $('#result').text('提交成功: ' + response); }, error: function(error) { $('#result').text('提交失败: ' + error.statusText); } }); }); }); </script> </body> </html> ``` 在这个例子中,点击按钮时先阻止表单的默认提交行为,然后使用 `serialize()` 方法序列化表单数据,最后通过 `$.ajax()` 方法将数据异步发送到服务器,并根据响应结果显示相应信息。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值