0%

JavaWeb书城项目(一)——表单验证的实现

整个项目源代码可以到我的github上下载。表单验证主要使用JQuery实现,IDE为IDEA。

导入项目

新建一个模块
新建模块

把原有的文件导入,原有文件链接 提取码:nefu
导入文件
接下来我们要修改login.html以及regist.html
login与regist
jquery.js 放入static/script 文件夹下
导入jquery.js


regist部分

我们要验证表单内容,主要有以下几个部分
注册表单

  • 验证用户名:必须由字母,数字下划线组成,并且长度为5到12位
  • 验证密码:必须由字母,数字下划线组成,并且长度为5到12位
  • 验证确认密码:和密码相同
  • 邮箱验证;xxxxx@xxx.com
  • 验证码:现在只需要验证用户已输入

具体大致流程如下:

  1. $(#id).val() 获得表单项的值
  2. / / 创建正则项表达式
  3. 使用 test 方法测试
  4. $("span.errorMsg").text("提示信息") 提示用户

以用户名为例,具体代码如下

1
2
3
4
5
6
7
8
9
10
11
// 验证用户名:必须由字母,数字下划线组成,并且长度为5到12位
//1 获取用户名输入框里的内容
var usernameText = $('#username').val();
//2 创建正则表达式对象
var usernamePatt = /^\w{5,12}$/;
//3 使用test方法验证
if(!usernamePatt.test(usernameText)) {
//4 提示用户结果
$("span.errorMsg").text("用户名不合法!");
return false; // 让其不跳转
}

需要注意的是,全部验证完之后,不应该出现错误信息,所以使用 $("span.errorMsg").text("") 将其清空。
regist.html 全部代码如下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>尚硅谷会员注册页面</title>
<link type="text/css" rel="stylesheet" href="../../static/css/style.css" >
<script type="text/javascript" src="../../static/script/jquery-1.7.2.js"></script>
<script type="text/javascript">
// 页面加载完成之后
$(function () {
$("#sub_btn").click(function () {

// 验证用户名:必须由字母,数字下划线组成,并且长度为5到12位
//1 获取用户名输入框里的内容
var usernameText = $('#username').val();
//2 创建正则表达式对象
var usernamePatt = /^\w{5,12}$/;
//3 使用test方法验证
if(!usernamePatt.test(usernameText)) {
//4 提示用户结果
$("span.errorMsg").text("用户名不合法!");
return false; // 让其不跳转
}

// 验证密码:必须由字母,数字下划线组成,并且长度为5到12位
//1 获取密码输入框里的内容
var passwordText = $('#password').val();
//2 创建正则表达式对象
var passwordPatt = /^\w{5,12}$/;
//3 使用test方法验证
if(!passwordPatt.test(passwordText)) {
//4 提示用户结果
$("span.errorMsg").text("密码不合法!");
return false; // 让其不跳转
}

// 验证确认密码:和密码相同
//1 获取确认密码内容
var repwdText = $("#repwd").val();
//2 与密码相比较
if(repwdText != passwordText){
//3 提示用户
$("span.errorMsg").text("确认密码和密码不一致!");
return false;
}



// 邮箱验证;xxxxx@xxx.com
//1 获取邮箱里的内容
var emailText = $("#email").val();
//2 创建正则表达式对象
var emailPatt = /^[a-z\d]+(\.[a-z\d]+)*@([\da-z](-[\da-z])?)+(\.{1,2}[a-z]+)+$/
//3 使用test方法测试
if(!emailPatt.test(emailText)) {
//4 提示用户
$("span.errorMsg").text("邮箱不合法!");
return false;
}

// 验证码:现在只需要验证用户已输入,因为还没讲到服务器,验证码生成。
var codeText = $("#code").val();
// alert("去空格前"+codeText);
codeText = $.trim(codeText); // 去除多余的空格
// alert("去空格后"+codeText);
if (codeText == null || codeText == ""){
// 提示用户
$("span.errorMsg").text("验证码不能为空!");
return false;
}

$("span.errorMsg").text(""); //合法将不合法信息去除
});
});
</script>
<style type="text/css">
.login_form{
height:420px;
margin-top: 25px;
}

</style>
</head>
<body>
<div id="login_header">
<img class="logo_img" alt="" src="../../static/img/logo.gif" >
</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"></span>
</div>
<div class="form">
<form action="regist_success.html">
<label>用户名称:</label>
<input class="itxt" type="text" placeholder="请输入用户名" autocomplete="off" tabindex="1" name="username" id="username" />
<br />
<br />
<label>用户密码:</label>
<input class="itxt" type="password" placeholder="请输入密码" autocomplete="off" tabindex="1" name="password" id="password" />
<br />
<br />
<label>确认密码:</label>
<input class="itxt" type="password" placeholder="确认密码" autocomplete="off" tabindex="1" name="repwd" id="repwd" />
<br />
<br />
<label>电子邮件:</label>
<input class="itxt" type="text" placeholder="请输入邮箱地址" autocomplete="off" tabindex="1" name="email" id="email" />
<br />
<br />
<label>验证码:</label>
<input class="itxt" type="text" style="width: 150px;" id="code"/>
<img alt="" src="../../static/img/code.bmp" style="float: right; margin-right: 40px">
<br />
<br />
<input type="submit" value="注册" id="sub_btn" />

</form>
</div>

</div>
</div>
</div>
</div>
<div id="bottom">
<span>
尚硅谷书城.Copyright &copy;2015
</span>
</div>
</body>
</html>

演示结果
结果


login部分

login部分也是一样的思路,因为表单标签没有提供 id,我们要为其添加一个id 标签,即修改原始代码如下

1
2
<input id="username" class="itxt" type="text" placeholder="请输入用户名" autocomplete="off" tabindex="1" name="username" />
<input id="password" class="itxt" type="password" placeholder="请输入密码" autocomplete="off" tabindex="1" name="password" />

后面就和注册一样的思路,利用 JQuery 验证表单即可。
login.html 全部代码如下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>尚硅谷会员登录页面</title>
<link type="text/css" rel="stylesheet" href="../../static/css/style.css" >
<script type="text/javascript" src="../../static/script/jquery-1.7.2.js"></script>
<script type="text/javascript">
// 页面加载完成之后
$(function () {
$("#sub_btn").click(function () {

// 验证用户名:必须由字母,数字下划线组成,并且长度为5到12位
//1 获取用户名输入框里的内容
var usernameText = $("#username").val();
//2 创建正则表达式对象
var usernamePatt = /^\w{5,12}$/;
//3 使用test方法验证
if(!usernamePatt.test(usernameText)) {
//4 提示用户结果
$("span.errorMsg").text("用户名不合法!");
return false; // 让其不跳转
}

// 验证密码:必须由字母,数字下划线组成,并且长度为5到12位
//1 获取密码输入框里的内容
var passwordText = $("#password").val();
//2 创建正则表达式对象
var passwordPatt = /^\w{5,12}$/;
//3 使用test方法验证
if(!passwordPatt.test(passwordText)) {
//4 提示用户结果
$("span.errorMsg").text("密码不合法!");
return false; // 让其不跳转
}

$("span.errorMsg").text(""); //合法将不合法信息去除
});
});
</script>
</head>
<body>
<div id="login_header">
<img class="logo_img" alt="" src="../../static/img/logo.gif" >
</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>
<a href="regist.html">立即注册</a>
</div>
<div class="msg_cont">
<b></b>
<span class="errorMsg">请输入用户名和密码</span>
</div>
<div class="form">
<form action="login_success.html">
<label>用户名称:</label>
<input id="username" class="itxt" type="text" placeholder="请输入用户名" autocomplete="off"
tabindex="1" name="username" />
<br />
<br />
<label>用户密码:</label>
<input id="password" class="itxt" type="password" placeholder="请输入密码" autocomplete="off"
tabindex="1" name="password" />
<br />
<br />
<input type="submit" value="登录" id="sub_btn" />
</form>
</div>
</div>
</div>
</div>
</div>
<div id="bottom">
<span>
尚硅谷书城.Copyright &copy;2015
</span>
</div>
</body>
</html>

演示结果
结果

-------------本文结束感谢您的阅读-------------