黑马旅游网案例

1、前台表单校验+异步提交表单

register.html

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="utf-8">
        <title>注册</title>
        <link rel="stylesheet" type="text/css" href="css/common.css">
        <link rel="stylesheet" href="css/register.css">
		<!--导入jquery-->
		<script src="js/jquery-3.3.1.js"></script>
		
		<script>

			/*
			* 表单校验:
			* 1、用户名校验 ,单词字符,长度8~20位
			* 2、密码校验 ,单词字符,长度8~20位
			* 3、Email校验,单词字符+@+.+单词字符(com)
			* 4、姓名,非空
			* 5、手机号,手机号格式
			* 6、出生日期,非空
			* 7、验证码,非空
			* */

			//1.定义注册的用户名是否正确方法
			function checkUsername() {
				//alert("校验用户名");  //注意:不要写错alter,否则F12中有错

				//1、获取注册的用户名
				var val = $("#username").val();
				//2、定义正则表达式
				var req_username=/^\w{8,20}$/;
				//3、判断是否符合正则表达式
				var flag = req_username.test(val);
                //4、改变样式
                if(flag){
                    //用户名样式正确
                    $("#username").css("border","");
                }else{
                    //用户名样式错误
                    $("#username").css("border","5px solid red");
                }
                //5、返回flag到submit方法中
				return flag;
            }

            //2.定义注册的密码是否正确方法
            function checkPassword() {
                //1、获取注册的密码
                var val = $("#password").val();
                //2、定义正则表达式
                var req_password=/^\w{8,20}$/;
                //3、判断是否符合正则表达式
                var flag = req_password.test(val);
                //4、改变样式
                if(flag){
                    //密码样式正确
                    $("#password").css("border","");
                }else {
                    //密码样式错误
                    $("#password").css("border", "5px solid red");
                }
                //5、返回flag到submit方法中
				return flag;
            }

            //3、Email校验,单词字符+@+.+单词字符(com)
            function checkEmail(){
			    var email = $("#email").val();
			    var reg_email=/^\w+@\w+\.\w+$/;
			    var flag = reg_email.test(email);
			    if(flag){
			       //邮箱正确
                    $("#email").css("border","");
				}else{
			        //邮箱错误
					$("#email").css("border","5px solid red");
				}
				return flag;
			}

			//4、姓名,非空
            function checkName(){
                var name = $("#name").val();
                var reg_name= /\S/;
                var flag = reg_name.test(name);
                if(flag){
                    //姓名正确
                    $("#name").css("border","");
                }else{
                    //姓名错误
                    $("#name").css("border","5px solid red");
                }
                return flag;
            }

            //5、手机号,手机号格式
            function checkTelephone(){
                var telephone = $("#telephone").val();
                var reg_telephone= /^1[3456789]\d{9}$/;
                var flag = reg_telephone.test(telephone);
                if(flag){
                    //手机号正确
                    $("#telephone").css("border","");
                }else{
                    //手机号错误
                    $("#telephone").css("border","5px solid red");
                }
                return flag;
            }

            //6、出生日期,非空
            function checkBirthday(){
                var birthday = $("#birthday").val();
                var reg_birthday= /\S/;
                var flag = reg_birthday.test(birthday);
                if(flag){
                    //生日正确
                    $("#birthday").css("border","");
                }else{
                    //生日错误
                    $("#birthday").css("border","5px solid red");
                }
                return flag;
            }

            //7、验证码,非空
            function checkCheck(){
                var check = $("#check").val();
                var reg_check= /\S/;
                var flag = reg_check.test(check);
                if(flag){
                    //生日正确
                    $("#check").css("check","");
                }else{
                    //生日错误
                    $("#check").css("border","5px solid red");
                }
                return flag;
            }

            /*===================================================================================================*/

            //.定义on.load,包含提交表单和离焦事件之前对注册信息的校验方法
			$(function () {
				//当表单提交时,调用校验方法,submit()方法内的参数可以没有,可以是boolean,若返回值为true,则提交表单

				//$("#registerForm").submit(checkUserphone()&&checkPassword())
				//注意:上面的写法错误,导致页面加载完后就会弹出,而不是点击“注册”按钮后弹出,下面30~32行代码正确

                $("#registerForm").submit(function () {
                    //使用Ajax异步提交表单,表单提交分为'发送数据'和'跳转页面'这两步,若submit()返回false,则不跳转页面

					//1.使用ajax发送数据
					$.post("registUserServlet",$(this).serialize(),function (data) {
						//由于this == #registerForm,是js对象,所以先要转为jQuery对象,再调用serialize()方法将注册信息序列化
                    })

                   //2.不跳转页面
					/* return checkUsername()&&checkPassword()&&checkEmail()
						&&checkName()&&checkTelephone()&&checkBirthday()&&checkCheck();*/
                   return false;
                });

				//当鼠标离焦后,进行注册信息校验
				$("#username").blur(checkUsername);  //注意:这里传入的参数是函数对象,不能加括号
                $("#password").blur(checkPassword);
                $("#email").blur(checkEmail);
                $("#name").blur(checkName);
                $("#telephone").blur(checkTelephone);
                $("#birthday").blur(checkBirthday);
                $("#check").blur(checkCheck);
            });

		</script>

    </head>
	<body>
	<!--引入头部-->
	<div id="header"></div>
        <!-- 头部 end -->
    	<div class="rg_layout">
    		<div class="rg_form clearfix">
    			<div class="rg_form_left">
    				<p>新用户注册</p>
    				<p>USER REGISTER</p>
    			</div>
    			<div class="rg_form_center">

					<!--注册表单-->
    				<form id="registerForm" action="user">
						<!--提交处理请求的标识符-->
						<input type="hidden" name="action" value="register">
    					<table style="margin-top: 25px;">
    						<tr>
    							<td class="td_left">
    								<label for="username">用户名</label>
    							</td>
    							<td class="td_right">
    								<input type="text" id="username" name="username" placeholder="请输入账号">
    							</td>
    						</tr>
    						<tr>
    							<td class="td_left">
    								<label for="password">密码</label>
    							</td>
    							<td class="td_right">
    								<input type="text" id="password" name="password" placeholder="请输入密码">
    							</td>
    						</tr>
    						<tr>
    							<td class="td_left">
    								<label for="email">Email</label>
    							</td>
    							<td class="td_right">
    								<input type="text" id="email" name="email" placeholder="请输入Email">
    							</td>
    						</tr>
    						<tr>
    							<td class="td_left">
    								<label for="name">姓名</label>
    							</td>
    							<td class="td_right">
    								<input type="text" id="name" name="name" placeholder="请输入真实姓名">
    							</td>
    						</tr>
    						<tr>
    							<td class="td_left">
    								<label for="telephone">手机号</label>
    							</td>
    							<td class="td_right">
    								<input type="text" id="telephone" name="telephone" placeholder="请输入您的手机号">
    							</td>
    						</tr>
    						<tr>
    							<td class="td_left">
    								<label for="sex">性别</label>
    							</td>
    							<td class="td_right gender">
    								<input type="radio" id="sex" name="sex" value="男" checked> 男
    								<input type="radio" name="sex" value="女"> 女
    							</td>
    						</tr>
    						<tr>
    							<td class="td_left">
    								<label for="birthday">出生日期</label>
    							</td>
    							<td class="td_right">
    								<input type="date" id="birthday" name="birthday" placeholder="年/月/日">
    							</td>
    						</tr>
    						<tr>
    							<td class="td_left">
    								<label for="check">验证码</label>
    							</td>
    							<td class="td_right check">
    								<input type="text" id="check" name="check" class="check">
    								<img src="checkCode" height="32px" alt="" onclick="changeCheckCode(this)">
									<script type="text/javascript">
										//图片点击事件
										function changeCheckCode(img) {
											img.src="checkCode?"+new Date().getTime();
                                        }
									</script>
    							</td>
    						</tr>
    						<tr>
    							<td class="td_left"> 
    							</td>
    							<td class="td_right check"> 
    								<input type="submit" class="submit" value="注册">
									<span id="msg" style="color: red;"></span>
    							</td>
    						</tr>
    					</table>
    				</form>
    			</div>
    			<div class="rg_form_right">
    				<p>
    					已有账号?
    					<a href="#">立即登录</a>
    				</p>
    			</div>
    		</div>
    	</div>
        <!--引入尾部-->
    	<div id="footer"></div>
		<!--导入布局js,共享header和footer-->
		<script type="text/javascript" src="js/include.js"></script>
    	
    </body>
</html>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值