|
|
|
@ -8,151 +8,202 @@
|
|
|
|
|
<script type="text/javascript">
|
|
|
|
|
// 页面加载完成之后
|
|
|
|
|
$(function(){
|
|
|
|
|
// 当用户名输入框失去焦点时触发事件
|
|
|
|
|
$("#username").blur(function () {
|
|
|
|
|
//1、获取用户名
|
|
|
|
|
// 1、获取用户名
|
|
|
|
|
var username = this.value;
|
|
|
|
|
$.getJSON("http://localhost:8080/bookstore1/userServlet","action=ajaxExistsusername&username="+username,function (data) {
|
|
|
|
|
// 发送一个GET请求,检查用户名是否已经存在
|
|
|
|
|
$.getJSON("http://localhost:8080/bookstore1/userServlet", "action=ajaxExistsusername&username=" + username, function (data) {
|
|
|
|
|
if(data.exitsUsername) {
|
|
|
|
|
// 如果用户名已存在,显示错误信息
|
|
|
|
|
$("span.errorMsg").text("用户名已存在!");
|
|
|
|
|
} else {
|
|
|
|
|
// 如果用户名可用,显示可用信息
|
|
|
|
|
$("span.errorMsg").text("用户名可用!");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
// 点击验证码图片时更换其源,以更新验证码
|
|
|
|
|
$("#code_img").click(function () {
|
|
|
|
|
this.src = "${basePath}kaptcha.jpg?d=" + new Date();
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
// 给注册按钮添加事件
|
|
|
|
|
// 给注册按钮添加点击事件
|
|
|
|
|
$("#sub_btn").click(function(){
|
|
|
|
|
|
|
|
|
|
// 获取用户名
|
|
|
|
|
// 获取用户名的值
|
|
|
|
|
var usernameValue = $("#username").val();
|
|
|
|
|
// 验证用户名是否合法,规则如下:必须由字母,数字,下划线组成,并且长度为5到15位。
|
|
|
|
|
// 验证用户名是否合法,规则如下:必须由字母、数字和下划线组成,并且长度为5到15位。
|
|
|
|
|
var usernameReg = /^\w{5,15}$/;
|
|
|
|
|
// 验证用户信息
|
|
|
|
|
if (!usernameReg.test(usernameValue)) {
|
|
|
|
|
// 提示用户
|
|
|
|
|
// 如果验证不通过,提示用户
|
|
|
|
|
$("span.errorMsg").text("用户名不合法!");
|
|
|
|
|
return false;
|
|
|
|
|
return false; // 阻止表单提交
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 获取密码
|
|
|
|
|
// 获取密码输入框的值
|
|
|
|
|
var passwordValue = $("#password").val();
|
|
|
|
|
// 验证密码是否合法,规则如下:必须由字母,数字,下划线组成,并且长度为5到15位。
|
|
|
|
|
// 验证密码是否合法,规则如下:必须由字母、数字和下划线组成,并且长度为5到15位。
|
|
|
|
|
var passwordReg = /^\w{5,15}$/;
|
|
|
|
|
// 验证用户信息
|
|
|
|
|
// 验证用户信息
|
|
|
|
|
if (!passwordReg.test(passwordValue)) {
|
|
|
|
|
// 提示用户
|
|
|
|
|
// 如果验证不通过,提示用户
|
|
|
|
|
$("span.errorMsg").text("密码不合法!");
|
|
|
|
|
return false;
|
|
|
|
|
return false; // 阻止表单提交
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 获取确认密码
|
|
|
|
|
// 获取确认密码输入框的值
|
|
|
|
|
var repwdValue = $("#repwd").val();
|
|
|
|
|
// 验证确认密码和密码一致
|
|
|
|
|
// 验证确认密码与密码是否一致
|
|
|
|
|
if (passwordValue != repwdValue) {
|
|
|
|
|
// 提示用户
|
|
|
|
|
// 如果不一致,提示用户
|
|
|
|
|
$("span.errorMsg").text("确认密码和密码不一致!");
|
|
|
|
|
return false;
|
|
|
|
|
return false; // 阻止表单提交
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 获取用户名
|
|
|
|
|
// 获取电子邮件输入框的值
|
|
|
|
|
var emailValue = $("#email").val();
|
|
|
|
|
// 验证邮件输入是否合法。
|
|
|
|
|
// 验证邮件输入是否合法,采用正则表达式
|
|
|
|
|
var emailReg = /^([a-z0-9_\.-]+)@([\da-z\.-]+)\.([a-z\.]{2,6})$/;
|
|
|
|
|
|
|
|
|
|
// 检查电子邮件格式是否符合要求
|
|
|
|
|
if (!emailReg.test(emailValue)) {
|
|
|
|
|
// 提示用户
|
|
|
|
|
// 如果验证不通过,提示用户
|
|
|
|
|
$("span.errorMsg").text("邮件输入不合法!");
|
|
|
|
|
return false;
|
|
|
|
|
return false; // 阻止表单提交
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 获取验证码信息
|
|
|
|
|
// 获取验证码输入框的值
|
|
|
|
|
var codeValue = $("#code").val();
|
|
|
|
|
// 验证验证码不为空!
|
|
|
|
|
// 验证验证码输入是否为空
|
|
|
|
|
if (codeValue == "") {
|
|
|
|
|
// 如果为空,提示用户
|
|
|
|
|
$("span.errorMsg").text("验证码不能为空!")
|
|
|
|
|
return false;
|
|
|
|
|
return false; // 阻止表单提交
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 如果所有验证通过,返回true,允许表单提交
|
|
|
|
|
return true;
|
|
|
|
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
</script>
|
|
|
|
|
|
|
|
|
|
<style type="text/css">
|
|
|
|
|
.login_form{
|
|
|
|
|
height:420px;
|
|
|
|
|
margin-top: 25px;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
</style>
|
|
|
|
|
<style type="text/css">
|
|
|
|
|
/* 定义 .login_form 类的样式 */
|
|
|
|
|
.login_form {
|
|
|
|
|
/* 设置登录表单的高度为420像素 */
|
|
|
|
|
height: 420px;
|
|
|
|
|
|
|
|
|
|
/* 设置登录表单与顶部的外边距为25像素 */
|
|
|
|
|
margin-top: 25px;
|
|
|
|
|
}
|
|
|
|
|
</style>
|
|
|
|
|
|
|
|
|
|
</head>
|
|
|
|
|
<body>
|
|
|
|
|
<div id="login_header">
|
|
|
|
|
<img class="logo_img" alt="" src="static/img/logo.jpg" >
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<div class="login_banner">
|
|
|
|
|
|
|
|
|
|
<div id="l_content">
|
|
|
|
|
<span class="login_word">欢迎注册</span>
|
|
|
|
|
<div id="login_header">
|
|
|
|
|
<!-- 显示网站或应用程序的logo,使用img标签加载图像 -->
|
|
|
|
|
<img class="logo_img" alt="" src="static/img/logo.jpg">
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<div class="login_banner">
|
|
|
|
|
<!-- 登录横幅区域 -->
|
|
|
|
|
|
|
|
|
|
<div id="l_content">
|
|
|
|
|
<!-- 登录内容部分 -->
|
|
|
|
|
<span class="login_word">欢迎注册</span>
|
|
|
|
|
<!-- 提示用户进行注册 -->
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<div id="content">
|
|
|
|
|
<!-- 内容区域 -->
|
|
|
|
|
|
|
|
|
|
<div class="login_form">
|
|
|
|
|
<!-- 登录表单容器 -->
|
|
|
|
|
|
|
|
|
|
<div class="login_box">
|
|
|
|
|
<!-- 登录框 -->
|
|
|
|
|
|
|
|
|
|
<div class="tit">
|
|
|
|
|
<!-- 标题部分 -->
|
|
|
|
|
|
|
|
|
|
<h1>注册会员</h1>
|
|
|
|
|
<!-- 主标题,显示“注册会员” -->
|
|
|
|
|
|
|
|
|
|
<span class="errorMsg">
|
|
|
|
|
<!-- 错误信息显示区域 -->
|
|
|
|
|
<%--<%=request.getAttribute("msg")==null? "" : request.getAttribute("msg")%>--%>
|
|
|
|
|
<!-- 注释掉的JSP代码,用于获取请求中的消息属性 -->
|
|
|
|
|
${requestScope.msg}
|
|
|
|
|
<!-- 使用EL表达式获取请求作用域中的消息并显示 -->
|
|
|
|
|
</span>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<div id="content">
|
|
|
|
|
<div class="login_form">
|
|
|
|
|
<div class="login_box">
|
|
|
|
|
<div class="tit">
|
|
|
|
|
<h1>注册会员</h1>
|
|
|
|
|
<span class="errorMsg">
|
|
|
|
|
<%--<%=request.getAttribute("msg")==null? "" : request.getAttribute("msg")%>--%>
|
|
|
|
|
${requestScope.msg}
|
|
|
|
|
</span>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="form">
|
|
|
|
|
<form action="userServlet" method="post">
|
|
|
|
|
<input type="hidden" name="action" value="regist">
|
|
|
|
|
<label>用户名称:</label>
|
|
|
|
|
<input class="itxt" type="text" placeholder="请输入用户名" autocomplete="off" tabindex="1" name="username" id="username"
|
|
|
|
|
value="${requestScope.username}"/>
|
|
|
|
|
<br />
|
|
|
|
|
<br />
|
|
|
|
|
<label>用户密码:</label>
|
|
|
|
|
<input class="itxt" type="password" placeholder="请输入密码" autocomplete="off" tabindex="1" name="password" id="password"
|
|
|
|
|
value="${requestScope.password}"/>
|
|
|
|
|
<br />
|
|
|
|
|
<br />
|
|
|
|
|
<label>确认密码:</label>
|
|
|
|
|
<input class="itxt" type="password" placeholder="确认密码" autocomplete="off" tabindex="1" name="repwd" id="repwd"
|
|
|
|
|
value="${requestScope.repwd}"/>
|
|
|
|
|
<br />
|
|
|
|
|
<br />
|
|
|
|
|
<label>电子邮件:</label>
|
|
|
|
|
<input class="itxt" type="text" placeholder="请输入邮箱地址" autocomplete="off" tabindex="1" name="email" id="email"
|
|
|
|
|
value="${requestScope.email}"/>
|
|
|
|
|
<br />
|
|
|
|
|
<br />
|
|
|
|
|
<label>验证码:</label>
|
|
|
|
|
<input class="itxt" type="text" name="code" style="width: 80px;" id="code"/>
|
|
|
|
|
<img id="code_img" alt="" src="kaptcha.jpg" style="float: right; margin-right: 40px;width: 110px;height: 30px">
|
|
|
|
|
<br />
|
|
|
|
|
<br />
|
|
|
|
|
<input type="submit" value="注册" id="sub_btn" />
|
|
|
|
|
|
|
|
|
|
</form>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="form">
|
|
|
|
|
<!-- 表单容器 -->
|
|
|
|
|
<form action="userServlet" method="post">
|
|
|
|
|
<!-- 表单,提交到 userServlet,使用 POST 方法 -->
|
|
|
|
|
|
|
|
|
|
<input type="hidden" name="action" value="regist">
|
|
|
|
|
<!-- 隐藏字段,指定表单操作为注册 -->
|
|
|
|
|
|
|
|
|
|
<label>用户名称:</label>
|
|
|
|
|
<!-- 用户名称标签 -->
|
|
|
|
|
<input class="itxt" type="text" placeholder="请输入用户名" autocomplete="off" tabindex="1" name="username" id="username"
|
|
|
|
|
value="${requestScope.username}"/>
|
|
|
|
|
<!-- 输入框,供用户输入用户名 -->
|
|
|
|
|
<!-- 使用 EL 表达式填充之前的用户名(如果有的话) -->
|
|
|
|
|
|
|
|
|
|
<br />
|
|
|
|
|
<br />
|
|
|
|
|
<label>用户密码:</label>
|
|
|
|
|
<!-- 用户密码标签 -->
|
|
|
|
|
<input class="itxt" type="password" placeholder="请输入密码" autocomplete="off" tabindex="1" name="password" id="password"
|
|
|
|
|
value="${requestScope.password}"/>
|
|
|
|
|
<!-- 输入框,供用户输入密码 -->
|
|
|
|
|
<!-- 使用 EL 表达式填充之前的密码(如果有的话) -->
|
|
|
|
|
|
|
|
|
|
<br />
|
|
|
|
|
<br />
|
|
|
|
|
<label>确认密码:</label>
|
|
|
|
|
<!-- 确认密码标签 -->
|
|
|
|
|
<input class="itxt" type="password" placeholder="确认密码" autocomplete="off" tabindex="1" name="repwd" id="repwd"
|
|
|
|
|
value="${requestScope.repwd}"/>
|
|
|
|
|
<!-- 输入框,供用户确认密码 -->
|
|
|
|
|
<!-- 使用 EL 表达式填充之前的确认密码(如果有的话) -->
|
|
|
|
|
|
|
|
|
|
<br />
|
|
|
|
|
<br />
|
|
|
|
|
<label>电子邮件:</label>
|
|
|
|
|
<!-- 电子邮件标签 -->
|
|
|
|
|
<input class="itxt" type="text" placeholder="请输入邮箱地址" autocomplete="off" tabindex="1" name="email" id="email"
|
|
|
|
|
value="${requestScope.email}"/>
|
|
|
|
|
<!-- 输入框,供用户输入电子邮件地址 -->
|
|
|
|
|
<!-- 使用 EL 表达式填充之前的邮箱(如果有的话) -->
|
|
|
|
|
|
|
|
|
|
<br />
|
|
|
|
|
<br />
|
|
|
|
|
<label>验证码:</label>
|
|
|
|
|
<!-- 验证码标签 -->
|
|
|
|
|
<input class="itxt" type="text" name="code" style="width: 80px;" id="code"/>
|
|
|
|
|
<!-- 输入框,供用户输入验证码 -->
|
|
|
|
|
|
|
|
|
|
<img id="code_img" alt="" src="kaptcha.jpg" style="float: right; margin-right: 40px;width: 110px;height: 30px">
|
|
|
|
|
<!-- 显示验证码图像 -->
|
|
|
|
|
|
|
|
|
|
<br />
|
|
|
|
|
<br />
|
|
|
|
|
<input type="submit" value="注册" id="sub_btn" />
|
|
|
|
|
<!-- 提交按钮,用户点击后提交表单进行注册 -->
|
|
|
|
|
</form>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<%@include file="/pages/common/footer.jsp"%>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<%@include file="/pages/common/footer.jsp"%>
|
|
|
|
|
</body>
|
|
|
|
|
</html>
|