完整注册+JQuery验证+selert后台校验
Java代码
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>注册页面</title> <meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
<link rel="stylesheet" type="text/css" href="<c:url value='/jsps/css/user/regist.css'/>"> <script type="text/javascript" src="<c:url value='/jquery/jquery-1.5.1.js'/>"></script>
<script type="text/javascript" src="<c:url value='/jsps/js/user/regist.js'/>"></script>
</head> <body>
<div id="divMain">
<div id="divTitle">
<span id="spanTitle">新用户注册</span>
</div>
<div id="divBody">
<form action="<c:url value='/UserServlet'/>" method="post" id="registForm">
<input type="hidden" name="method" value="regist"/>
<table id="tableForm">
<tr>
<td class="tdText">用户名:</td>
<td class="tdInput">
<input class="inputClass" type="text" name="loginname" id="loginname" value="${form.loginname }"/>
</td>
<td class="tdError">
<label class="errorClass" id="loginnameError">${errors.loginname }</label>
</td>
</tr>
<tr>
<td class="tdText">登录密码:</td>
<td>
<input class="inputClass" type="password" name="loginpass" id="loginpass" value="${form.loginpass }"/>
</td>
<td>
<label class="errorClass" id="loginpassError">${errors.loginpass }</label>
</td>
</tr>
<tr>
<td class="tdText">确认密码:</td>
<td>
<input class="inputClass" type="password" name="reloginpass" id="reloginpass" value="${form.reloginpass }"/>
</td>
<td>
<label class="errorClass" id="reloginpassError">${errors.reloginpass}</label>
</td>
</tr>
<tr>
<td class="tdText">Email:</td>
<td>
<input class="inputClass" type="text" name="email" id="email" value="${form.email }"/>
</td>
<td>
<label class="errorClass" id="emailError">${errors.email}</label>
</td>
</tr>
<tr>
<td class="tdText">验证码:</td>
<td>
<input class="inputClass" type="text" name="verifyCode" id="verifyCode" value="${form.verifyCode }"/>
</td>
<td>
<label class="errorClass" id="verifyCodeError">${errors.verifyCode}</label>
</td>
</tr>
<tr>
<td></td>
<td>
<div id="divVerifyCode"><img id="imgVerifyCode" src="<c:url value='/VerifyCodeServlet'/>"/></div>
</td>
<td>
<label><a href="javascript:_hyz()">换一张</a></label>
</td>
</tr>
<tr>
<td></td>
<td>
<input type="image" src="<c:url value='/images/regist1.jpg'/>" id="submitBtn"/>
</td>
<td>
<label></label>
</td>
</tr>
</table>
</form>
</div>
</div>
</body>
</html> 2 注册页面regist的css: <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>注册页面</title> <meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
<link rel="stylesheet" type="text/css" href="<c:url value='/jsps/css/user/regist.css'/>"> <script type="text/javascript" src="<c:url value='/jquery/jquery-1.5.1.js'/>"></script>
<script type="text/javascript" src="<c:url value='/jsps/js/user/regist.js'/>"></script>
</head> <body>
<div id="divMain">
<div id="divTitle">
<span id="spanTitle">新用户注册</span>
</div>
<div id="divBody">
<form action="<c:url value='/UserServlet'/>" method="post" id="registForm">
<input type="hidden" name="method" value="regist"/>
<table id="tableForm">
<tr>
<td class="tdText">用户名:</td>
<td class="tdInput">
<input class="inputClass" type="text" name="loginname" id="loginname" value="${form.loginname }"/>
</td>
<td class="tdError">
<label class="errorClass" id="loginnameError">${errors.loginname }</label>
</td>
</tr>
<tr>
<td class="tdText">登录密码:</td>
<td>
<input class="inputClass" type="password" name="loginpass" id="loginpass" value="${form.loginpass }"/>
</td>
<td>
<label class="errorClass" id="loginpassError">${errors.loginpass }</label>
</td>
</tr>
<tr>
<td class="tdText">确认密码:</td>
<td>
<input class="inputClass" type="password" name="reloginpass" id="reloginpass" value="${form.reloginpass }"/>
</td>
<td>
<label class="errorClass" id="reloginpassError">${errors.reloginpass}</label>
</td>
</tr>
<tr>
<td class="tdText">Email:</td>
<td>
<input class="inputClass" type="text" name="email" id="email" value="${form.email }"/>
</td>
<td>
<label class="errorClass" id="emailError">${errors.email}</label>
</td>
</tr>
<tr>
<td class="tdText">验证码:</td>
<td>
<input class="inputClass" type="text" name="verifyCode" id="verifyCode" value="${form.verifyCode }"/>
</td>
<td>
<label class="errorClass" id="verifyCodeError">${errors.verifyCode}</label>
</td>
</tr>
<tr>
<td></td>
<td>
<div id="divVerifyCode"><img id="imgVerifyCode" src="<c:url value='/VerifyCodeServlet'/>"/></div>
</td>
<td>
<label><a href="javascript:_hyz()">换一张</a></label>
</td>
</tr>
<tr>
<td></td>
<td>
<input type="image" src="<c:url value='/images/regist1.jpg'/>" id="submitBtn"/>
</td>
<td>
<label></label>
</td>
</tr>
</table>
</form>
</div>
</div>
</body>
</html>
3 注册页面regist中的JS
Js代码 收藏代码
$(function() {
/*
* 1. 得到所有的错误信息,循环遍历之。调用一个方法来确定是否显示错误信息!
*/
$(".errorClass").each(function() {
showError($(this));//遍历每个元素,使用每个元素来调用showError方法
}); /*
* 2. 切换注册按钮的图片
*/
$("#submitBtn").hover(
function() {
$("#submitBtn").attr("src", "/goods/images/regist2.jpg");
},
function() {
$("#submitBtn").attr("src", "/goods/images/regist1.jpg");
}
); /*
* 3. 输入框得到焦点隐藏错误信息
*/
$(".inputClass").focus(function() {
var labelId = $(this).attr("id") + "Error";//通过输入框找到对应的label的id
$("#" + labelId).text("");//把label的内容清空!
showError($("#" + labelId));//隐藏没有信息的label
}); /*
* 4. 输入框失去焦点进行校验
*/
$(".inputClass").blur(function() {
var id = $(this).attr("id");//获取当前输入框的id
var funName = "validate" + id.substring(0,1).toUpperCase() + id.substring(1) + "()";//得到对应的校验函数名
eval(funName);//执行函数调用
}); /*
* 5. 表单提交时进行校验
*/
$("#registForm").submit(function() {
var bool = true;//表示校验通过
if(!validateLoginname()) {
bool = false;
}
if(!validateLoginpass()) {
bool = false;
}
if(!validateReloginpass()) {
bool = false;
}
if(!validateEmail()) {
bool = false;
}
if(!validateVerifyCode()) {
bool = false;
} return bool;
});
}); /*
* 登录名校验方法
*/
function validateLoginname() {
var id = "loginname";
var value = $("#" + id).val();//获取输入框内容
/*
* 1. 非空校验
*/
if(!value) {
/*
* 获取对应的label
* 添加错误信息
* 显示label
*/
$("#" + id + "Error").text("用户名不能为空!");
showError($("#" + id + "Error"));
return false;
}
/*
* 2. 长度校验
*/
if(value.length < 3 || value.length > 20) {
/*
* 获取对应的label
* 添加错误信息
* 显示label
*/
$("#" + id + "Error").text("用户名长度必须在3 ~ 20之间!");
showError($("#" + id + "Error"));
false;
}
/*
* 3. 是否注册校验
*/
$.ajax({
url:"/goods/UserServlet",//要请求的servlet
data:{method:"ajaxValidateLoginname", loginname:value},//给服务器的参数
type:"POST",
dataType:"json",
async:false,//是否异步请求,如果是异步,那么不会等服务器返回,我们这个函数就向下运行了。
cache:false,
success:function(result) {
if(!result) {//如果校验失败
$("#" + id + "Error").text("用户名已被注册!");
showError($("#" + id + "Error"));
return false;
}
}
});
return true;
} /*
* 登录密码校验方法
*/
function validateLoginpass() {
var id = "loginpass";
var value = $("#" + id).val();//获取输入框内容
/*
* 1. 非空校验
*/
if(!value) {
/*
* 获取对应的label
* 添加错误信息
* 显示label
*/
$("#" + id + "Error").text("密码不能为空!");
showError($("#" + id + "Error"));
return false;
}
/*
* 2. 长度校验
*/
if(value.length < 3 || value.length > 20) {
/*
* 获取对应的label
* 添加错误信息
* 显示label
*/
$("#" + id + "Error").text("密码长度必须在3 ~ 20之间!");
showError($("#" + id + "Error"));
false;
}
return true;
} /*
* 确认密码校验方法
*/
function validateReloginpass() {
var id = "reloginpass";
var value = $("#" + id).val();//获取输入框内容
/*
* 1. 非空校验
*/
if(!value) {
/*
* 获取对应的label
* 添加错误信息
* 显示label
*/
$("#" + id + "Error").text("确认密码不能为空!");
showError($("#" + id + "Error"));
return false;
}
/*
* 2. 两次输入是否一致校验
*/
if(value != $("#loginpass").val()) {
/*
* 获取对应的label
* 添加错误信息
* 显示label
*/
$("#" + id + "Error").text("两次输入不一致!");
showError($("#" + id + "Error"));
false;
}
return true;
} /*
* Email校验方法
*/
function validateEmail() {
var id = "email";
var value = $("#" + id).val();//获取输入框内容
/*
* 1. 非空校验
*/
if(!value) {
/*
* 获取对应的label
* 添加错误信息
* 显示label
*/
$("#" + id + "Error").text("Email不能为空!");
showError($("#" + id + "Error"));
return false;
}
/*
* 2. Email格式校验
*/
if(!/^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+((\.[a-zA-Z0-9_-]{2,3}){1,2})$/.test(value)) {
/*
* 获取对应的label
* 添加错误信息
* 显示label
*/
$("#" + id + "Error").text("错误的Email格式!");
showError($("#" + id + "Error"));
false;
}
/*
* 3. 是否注册校验
*/
$.ajax({
url:"/goods/UserServlet",//要请求的servlet
data:{method:"ajaxValidateEmail", email:value},//给服务器的参数
type:"POST",
dataType:"json",
async:false,//是否异步请求,如果是异步,那么不会等服务器返回,我们这个函数就向下运行了。
cache:false,
success:function(result) {
if(!result) {//如果校验失败
$("#" + id + "Error").text("Email已被注册!");
showError($("#" + id + "Error"));
return false;
}
}
});
return true;
} /*
* 验证码校验方法
*/
function validateVerifyCode() {
var id = "verifyCode";
var value = $("#" + id).val();//获取输入框内容
/*
* 1. 非空校验
*/
if(!value) {
/*
* 获取对应的label
* 添加错误信息
* 显示label
*/
$("#" + id + "Error").text("验证码不能为空!");
showError($("#" + id + "Error"));
return false;
}
/*
* 2. 长度校验
*/
if(value.length != 4) {
/*
* 获取对应的label
* 添加错误信息
* 显示label
*/
$("#" + id + "Error").text("错误的验证码!");
showError($("#" + id + "Error"));
false;
}
/*
* 3. 是否正确
*/
$.ajax({
url:"/goods/UserServlet",//要请求的servlet
data:{method:"ajaxValidateVerifyCode", verifyCode:value},//给服务器的参数
type:"POST",
dataType:"json",
async:false,//是否异步请求,如果是异步,那么不会等服务器返回,我们这个函数就向下运行了。
cache:false,
success:function(result) {
if(!result) {//如果校验失败
$("#" + id + "Error").text("验证码错误!");
showError($("#" + id + "Error"));
return false;
}
}
});
return true;
} /*
* 判断当前元素是否存在内容,如果存在显示,不页面不显示!
*/
function showError(ele) {
var text = ele.text();//获取元素的内容
if(!text) {//如果没有内容
ele.css("display", "none");//隐藏元素
} else {//如果有内容
ele.css("display", "");//显示元素
}
} /*
* 换一张验证码
*/
function _hyz() {
/*
* 1. 获取<img>元素
* 2. 重新设置它的src
* 3. 使用毫秒来添加参数
*/
$("#imgVerifyCode").attr("src", "/goods/VerifyCodeServlet?a=" + new Date().getTime());
}
效果图如下:
完整注册+JQuery验证+selert后台校验的更多相关文章
- ssh整合问题总结--使用struts2+Ajax+jquery验证用户名是否已被注册
在用户模块中的用户注册需求上,通常要进行用户名是否已被注册的验证,今天正好写了这个需求,把详细代码和所遇到的问题贴过来.在使用struts2+ajax时候,通常我们会返回json类型的数据,但是像上面 ...
- jQuery Validate 表单验证插件----自定义校验结果样式
一.下载依赖包 网盘下载:https://yunpan.cn/cryvgGGAQ3DSW 访问密码 f224 二.引入依赖包 <script src="../../scripts/j ...
- jQuery Validate 表单验证插件----利用jquery.metadata.js将校验规则直接写在class属性里面并定义错误信息的提示
一.下载依赖包 网盘下载:https://yunpan.cn/cryvgGGAQ3DSW 访问密码 f224 二. 添加一个另外一个插件jquery.metadata.js 并把校验规则写在控件里面 ...
- Jquery Easyui验证扩展,Easyui验证,Easyui校验,js正则表达式
Jquery Easyui验证扩展,Easyui验证,Easyui校验,js正则表达式 >>>>>>>>>>>>>> ...
- jquery 验证控件
最近应公司要求做了一个jquery的示例文件,包括:模态窗口怎么实现:jquery validate下的校验:怎么做图片特效:怎么实现异步操作:实现图片上传剪切效果等很多特效: 这里把jquery校验 ...
- bootstrap+jQuery.validate表单校验
谈谈表单校验 这大概是一种惯例,学习前台后台最开始接触的业务都是用户注册和登录.现在社会坚持以人为本的理念,在网站开发过程同样如此.User是我们面对较多的对象,也是较核心的对象.最开始的用户注册和登 ...
- jQuery.validate表单校验+bootstrap
谈谈表单校验 这大概是一种惯例,学习前台后台最开始接触的业务都是用户注册和登录.现在社会坚持以人为本的理念,在网站开发过程同样如此.User是我们面对较多的对象,也是较核心的对象.最开始的用户注册和登 ...
- 巨蟒django之CRM1 需求分析&&表结构设计&&注册登录验证
1.需求分析 .项目 ()业务 ()权限的管理 .CRM customer relationship management 客户关系管理系统 .谁来使用CRM? 销售&&班主任& ...
- jquery验证前端页面
一共三个页面 jquery.html文件(前端页面,jquery验证用户信息) jquerytest.php文件(后台处理页面) jquerydb.php文件(数据库) 数据表结构 jquery.ht ...
随机推荐
- 单元测试工具 unitils
Unitils模块组件 Unitils通过模块化的方式来组织各个功能模块,采用类似于Spring的模块划分方式,如unitils-core.unitils-database.unitils-mock等 ...
- Cocos2d-x-3.6学习笔记第一天
系统环境: win7,python2.7 开发工具:vs2013 cocos版本:cocos2d-x-3.6 暂无模拟手机的环境 新建我的第一个cocos2d项目 1.打开cmd,cd到cocos2d ...
- 常用 CSS 选择器
// css 读取顺序从右到左,符合要求的都会匹配 // 通配符选择器 -- 选择所有元素 * // 通配符选择器 -- 选择某个元素下的所有元素 .demo * // 元素选择器 html,body ...
- MySQL py模块的链接Navicat可视化工具
数据库可视化工具Navicat 1 基本操作: 1 库 表 字段 记录(增删改查) 2 添加主建,添加自增. 3 添加外键,外键的链接 4 模型建表,模型添加外键.(逆向数据库到模型,运行SQL文件 ...
- UML类图解析
上面是UML的语法. 在画类图的时候,理清类和类之间的关系是重点.类的关系有泛化(Generalization).实现(Realization).依赖(Dependency)和关联(Associati ...
- "SetDestination" can only be called on an active agent that has been placed on a NavMesh. 解决办法
1.设置了 navmesh之后 要bake 也就是烘焙之后 才有效果 2.在unity 中 window->navigation 4.基本上问题应该得以解决:
- WEBGL学习【九】立方体贴不同的纹理
<html> <!--开始实现一个三维街景的渲染效果--> <head> <meta http-equiv="Content-Type" ...
- html中的meta标签属性
<!-- 声明文档使用的字符编码 --> <meta charset='utf-8'> <!-- 优先使用 IE 最新版本和 Chrome --> <meta ...
- 再见,OI(2019退役祭)
有些话应该藏在心里,有些事情只属于自己. (想了一下,自己的OI生涯.自己所经历的事情还是留在自己的心里吧,一是自己文笔不好,二是每个人的世界观不同对事情的看法不同) 不要轻易地去评价一个人,每个人背 ...
- MySQL导入到SQLServer
Mysql是在Linux环境服务器,MSSQL在windows服务器上 1.在MSServer中安装VPN 2.为VPN配置Mysql服务器账号 3.账号中的文件 4.在MSSQL服务器上安装mysq ...
