1. 注册

 $(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());
 }

regist.js

网上图书商城1--User模块的更多相关文章

  1. 基于SSH的网上图书商城-JavaWeb项目-有源码

    开发工具:Myeclipse/Eclipse + MySQL + Tomcat 项目简介: 技术:Java:JSP:JDBC,struts2,spring,hibernate数据库: mysqlweb ...

  2. JavaWeb网上图书商城完整项目--day02-4.regist页面提交表单时对所有输入框进行校验

    1.现在我们要将table表中的输入的参数全部提交到后台进行校验,我们提交我们是按照表单的形式提交,所以我们首先需要在table表外面添加一个表单 <%@ page language=" ...

  3. JavaWeb网上图书商城完整项目--24.注册页面的css样式实现

    现在框架已经做好了,即下来我们要对页面进行装饰了,第一步给每一个元素添加id 1.最外面的div添加id为divMain 2.第二个div添加id为divTitle,里面的span对应的id为span ...

  4. 网上图书商城项目学习笔记-011Book模块查询(分页)

    一.流程分析 1.图书模块 2.分布分析 二.代码 1.view层 1)list.jsp <%@ page language="java" import="java ...

  5. JavaWeb网上图书商城完整项目--day03-1.图书模块功能介绍及相关类创建

    1 前两天我们学习了user用户模块和图书的分类模块,接下来我们学习图书模块 图书模块的功能主要是下面的功能: 2 接下来我们创建对应的包 我们来看看对应的数据库表t_book CREATE TABL ...

  6. 网上图书商城项目学习笔记-012BOOK模块查询2

    一.分析 > 按图名查询(模糊)(分页)> 按作者查询(分页)> 按出版社查询(分页)> 按id查询> 多条件组合查询(分页) 二.代码 1.view层 (1)gj.js ...

  7. JavaWeb网上图书商城完整项目--21.用户模块各层相关类的创建

    1.现在要为user用户模块创建类 用户模块功能包括:注册.激活.登录.退出.修改密码. User类对照着t_user表来写即可.我们要保证User类的属性名称与t_user表的列名称完全相同. 我们 ...

  8. JavaWeb网上图书商城完整项目--day02-24.分类模块的相关类创建

    所谓的分类模块:就是显示所有的分类的功能,显示所有的分类在left.jsp页面中 这就是显示所有的分类: 要实现上面的,我们首先创建一个分类模块,该模块需要实现下面的功能 我们先创建上面的java包 ...

  9. 网上图书商城3--Book模块

    小技巧一:分页 ①PageBean<Book> findByCriteria(List<Expression> exprList, int pc)  --- 通用的查询方法(p ...

  10. 网上图书商城2--Category模块

    sql CREATE TABLE `t_category` ( `cid` char(32) NOT NULL, `cname` varchar(50) DEFAULT NULL, `pid` cha ...

随机推荐

  1. asp.net 文件 操作方法

    /// <summary> /// 移动文件 /// </summary> /// <param name="oldPath">源文件路径< ...

  2. ng-表单验证

    表单验证<AngularJs>   常用的表单验证指令 1. 必填项验证 某个表单输入是否已填写,只要在输入字段元素上添加HTML5标记required即可: <input type ...

  3. php的几种运行模式CLI、CGI、FastCGI、mod_php

    1.CLI:就是命令行,例如可以在控制台或者是shell中键入命令: php -f index.php 然后获取输出 2.CGI:以下是不同的说法与理解 公共网关接口”(Common Gateway  ...

  4. 为大家分享一个 Ajax Loading —— spin.js

    我们在做Ajax 异步请求的时候,一般都会利用一个动态的 Gif 小图片来制作一个Ajax Loading ,以便增加用户体验. 今天在网上发现了一个 Spin.js ,该 js 脚本压缩后5k,可以 ...

  5. Android引导页设计

    大家在安装好一个应用后,第一次打开时往往会出现一个使用引导页,形式一般为三.四张图片,随着我们的滑动进行切换,在最后一页会有一个进入应用的按钮,我们通过点击这个按钮可以进入应用,其实这其中没有太多的复 ...

  6. ZOJ3805Machine(二叉树左右子树变换)

    /* 题意:建立一棵二叉树,左子树和父节点占一个宽度,右子树另外占一个宽度! 使任意左右子树交换顺序,使得整个树的宽度最小! 思路:递归交换左右子树 ! 开始写的代码复杂了,其实左右子树不用真的交换, ...

  7. Bootstrap Magic – 轻松创建自己的 Bootstrap 主题

    Bootstrap Magic 是一款基于 Bootstrap 和 AngularJS 的主题创建工具.您可以轻松地创建您自己的 Twitter Bootstrap 主题,可以立即看到你的内容变化.您 ...

  8. 材价看板(1)- 如何建立你的第一个kanban,看看这些暴露的问题你们有没有?

    今年负责一个老产品新团队,和几年前的指标组一样,现在的团队没有采用什么研发方法,于是我开始了团队的看板之旅. 12月22日给材价整个部门的产品研发相关人员做了一次kanban工作坊培训,    以及敏 ...

  9. Cordova webapp实战开发:(6)如何写一个iOS下获取APP版本号的插件?

    上一篇我们学习了如何写一个Andorid下自动更新的插件,我想还有一部分看本系列blog的开发人员希望学习在iOS下如何做插件的吧,那么今天你就可以来看看这篇文字了. 本次练习你能学到的 学习如何获取 ...

  10. html/css基础篇——GET和POST的区别

    本文前面部分转自木-叶的博文,后面有本人自己的一些总结和体会. 如果有人问你,GET和POST,有什么区别?你会如何回答? 我的经历 前几天有人问我这个问题.我说GET是用于获取数据的,POST,一般 ...