js经典校验之注册与登录校验

转发:https://www.cnblogs.com/gluncle/p/8485198.html


例子1

1.1用户注册jsp页面


<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>  
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>  


  
<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="">  
    <script type="text/javascript" src="">script>  
    <script type="text/javascript" src="">script>  
  head>  

  <body>  
<div id="divMain">  
  <div id="divTitle">  
    <span id="spanTitle">新用户注册span>  
  div>  
  <div id="divBody">  
<form action="" 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=""/>div>  
        td>  
        <td>  
          <label><a href="javascript:_hyz()">换一张a>label>  
        td>  
      tr>  
      <tr>  
        <td>td>  
        <td>  
          <input type="image" src="" id="submitBtn"/>  
        td>  
        <td>  
          <label>label>  
        td>  
      tr>  
    table>  
form>      
  div>  
div>  
  body>  
html>

1.2 用户注册校验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. 获取元素  
     * 2. 重新设置它的src  
     * 3. 使用毫秒来添加参数  
     */  
    $("#imgVerifyCode").attr("src", "/goods/VerifyCodeServlet?a=" + new Date().getTime());  
} 

例子2


2.1 用户登录jsp


<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>  
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>  


  
<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">  
    <meta http-equiv="content-type" content="text/html;charset=utf-8">  
    <link rel="stylesheet" type="text/css" href="">  
    <script type="text/javascript" src="">script>  
    <script type="text/javascript" src="">script>  
    <script src="">script>  

<script type="text/javascript">  
    $(function() {/*Map*/  
        // 获取cookie中的用户名  
        var loginname = window.decodeURI("${cookie.loginname.value}");  
        if("${requestScope.user.loginname}") {  
            loginname = "${requestScope.user.loginname}";  
        }  
        $("#loginname").val(loginname);  
    });  
script>  
  head>  

  <body>  
    <div class="main">  
      <div><img src="" />div>  
      <div>  
        <div class="imageDiv"><img class="img" src=""/>div>  
        <div class="login1">  
          <div class="login2">  
            <div class="loginTopDiv">  
              <span class="loginTop">传智会员登录span>  
              <span>  
                <a href="" class="registBtn">a>  
              span>  
            div>  
            <div>  
              <form target="_top" action="" method="post" id="loginForm">  
                <input type="hidden" name="method" value="login" />  
                  <table>  
                    <tr>  
                      <td width="50">td>  
                      <td><label class="error" id="msg">${msg }label>td>  
                    tr>  
                    <tr>  
                      <td width="50">用户名td>  
                      <td><input class="input" type="text" name="loginname" id="loginname"/>td>  
                    tr>  
                    <tr>  
                      <td height="20"> td>  
                      <td><label id="loginnameError" class="error">label>td>  
                    tr>  
                    <tr>  
                      <td>密 码td>  
                      <td><input class="input" type="password" name="loginpass" id="loginpass" value="${user.loginpass }"/>td>  
                    tr>  
                    <tr>  
                      <td height="20"> td>  
                      <td><label id="loginpassError" class="error">label>td>  
                    tr>  
                    <tr>  
                      <td>验证码td>  
                      <td>  
                        <input class="input yzm" type="text" name="verifyCode" id="verifyCode" value="${user.verifyCode }"/>  
                        <img id="vCode" src=""/>  
                        <a id="verifyCode">换张图a>  
                      td>  
                    tr>  
                    <tr>  
                      <td height="20px"> td>  
                      <td><label id="verifyCodeError" class="error">label>td>  
                    tr>  
                    <tr>  
                      <td> td>  
                      <td align="left">  
                        <input type="image" id="submit" src="" class="loginBtn"/>  
                      td>  
                    tr>                                                                               
                 table>  
              form>  
            div>  
          div>  
        div>  
      div>  
    div>  
  body>  
html>  

2.2 用户登录校验js


"font-size:18px;">$(function() {  
    /*  
     * 1. 让登录按钮在得到和失去焦点时切换图片  
     */  
    $("#submit").hover(  
        function() {  
            $("#submit").attr("src", "/goods/images/login2.jpg");  
        },  
        function() {  
            $("#submit").attr("src", "/goods/images/login1.jpg");  
        }  
    );  

    /*  
     * 2. 给注册按钮添加submit()事件,完成表单校验  
     */  
    $("#submit").submit(function(){  
        $("#msg").text("");  
        var bool = true;  
        $(".input").each(function() {  
            var inputName = $(this).attr("name");  
            if(!invokeValidateFunction(inputName)) {  
                bool = false;  
            }  
        });  
        return bool;  
    });  

    /*  
     * 3. 输入框得到焦点时隐藏错误信息  
     */  
    $(".input").focus(function() {  
        var inputName = $(this).attr("name");  
        $("#" + inputName + "Error").css("display", "none");  
    });  

    /*  
     * 4. 输入框推动焦点时进行校验  
     */  
    $(".input").blur(function() {  
        var inputName = $(this).attr("name");  
        invokeValidateFunction(inputName);  
    })  
});  

/*  
 * 输入input名称,调用对应的validate方法。  
 * 例如input名称为:loginname,那么调用validateLoginname()方法。  
 */  
function invokeValidateFunction(inputName) {  
    inputName = inputName.substring(0, 1).toUpperCase() + inputName.substring(1);  
    var functionName = "validate" + inputName;  
    return eval(functionName + "()");     
}  

/*  
 * 校验登录名  
 */  
function validateLoginname() {  
    var bool = true;  
    $("#loginnameError").css("display", "none");  
    var value = $("#loginname").val();  
    if(!value) {// 非空校验  
        $("#loginnameError").css("display", "");  
        $("#loginnameError").text("用户名不能为空!");  
        bool = false;  
    } else if(value.length < 3 || value.length > 20) {//长度校验  
        $("#loginnameError").css("display", "");  
        $("#loginnameError").text("用户名长度必须在3 ~ 20之间!");  
        bool = false;  
    }  
    return bool;  
}  

/*  
 * 校验密码  
 */  
function validateLoginpass() {  
    var bool = true;  
    $("#loginpassError").css("display", "none");  
    var value = $("#loginpass").val();  
    if(!value) {// 非空校验  
        $("#loginpassError").css("display", "");  
        $("#loginpassError").text("密码不能为空!");  
        bool = false;  
    } else if(value.length < 3 || value.length > 20) {//长度校验  
        $("#loginpassError").css("display", "");  
        $("#loginpassError").text("密码长度必须在3 ~ 20之间!");  
        bool = false;  
    }  
    return bool;  
}  

/*  
 * 校验验证码  
 */  
function validateVerifyCode() {  
    var bool = true;  
    $("#verifyCodeError").css("display", "none");  
    var value = $("#verifyCode").val();  
    if(!value) {//非空校验  
        $("#verifyCodeError").css("display", "");  
        $("#verifyCodeError").text("验证码不能为空!");  
        bool = false;  
    } else if(value.length != 4) {//长度不为4就是错误的  
        $("#verifyCodeError").css("display", "");  
        $("#verifyCodeError").text("错误的验证码!");  
        bool = false;  
    } else {//验证码是否正确  
        $.ajax({  
            cache: false,  
            async: false,  
            type: "POST",  
            dataType: "json",  
            data: {method: "ajaxValidateVerifyCode", verifyCode: value},  
            url: "/goods/UserServlet",  
            success: function(flag) {  
                if(!flag) {  
                    $("#verifyCodeError").css("display", "");  
                    $("#verifyCodeError").text("错误的验证码!");  
                    bool = false;                     
                }  
            }  
        });  
    }  
    return bool;  
}</span>  

例子三


3.1用户修改密码jsp


<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>  
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>  


  
<html>  
  <head>  
    <title>pwd.jsptitle>  

    <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="">  
    <link rel="stylesheet" type="text/css" href="">  
    <script type="text/javascript" src="">script>  
    <script type="text/javascript" src="">script>  
    <script src="">script>  
  head>  

  <body>  
    <div class="div0">  
        <span>修改密码span>  
    div>  

    <div class="div1">  
        <form action="" method="post" target="_top">  
            <input type="hidden" name="method" value="updatePassword"/>  
        <table>  
            <tr>  
                <td><label class="error">${msg }label>td>  
                <td colspan="2"> td>  
            tr>  
            <tr>  
                <td align="right">原密码:td>  
                <td><input class="input" type="password" name="loginpass" id="loginpass" value="${user.loginpass }"/>td>  
                <td><label id="loginpassError" class="error">label>td>  
            tr>  
            <tr>  
                <td align="right">新密码:td>  
                <td><input class="input" type="password" name="newpass" id="newpass" value="${user.newpass }""/>  
                 class="error">label>td>  
            tr>  
            <tr>  
                <td align="right">确认密码:td>  
                <td><input class="input" type="password" name="reloginpass" id="reloginpass" value="${user.reloginpass }""/>  
                 class="error">label>td>  
            tr>  
            <tr>  
                <td align="right">td>  
                <td>  
                  <img id="vCode" src="" border="1"/>  
                  <a href="javascript:_change();">看不清,换一张a>  
                td>  
            tr>  
            <tr>  
                <td align="right">验证码:td>  
                <td>  
                  <input class="input" type="text" name="verifyCode" id="verifyCode" value="${user.verifyCode }""/>  
                  
                 class="error">label>td>  
            tr>  
            <tr>  
                <td align="right">td>  
                <td><input id="submit" type="submit" value="修改密码"/>td>  
            tr>  
        table>  
        form>  
    div>  
  body>  
html>  


3.2 用户修改密码校验js


$(function() {    
    /*  
     * 1. 给注册按钮添加submit()事件,完成表单校验  
     */  
    $("#submit").submit(function(){  
        $("#msg").text("");  
        var bool = true;  
        $(".input").each(function() {  
            var inputName = $(this).attr("name");  
            if(!invokeValidateFunction(inputName)) {  
                bool = false;  
            }  
        });  
        return bool;  
    });  

    /*  
     * 3. 输入框推动焦点时进行校验  
     */  
    $(".input").blur(function() {  
        var inputName = $(this).attr("name");  
        invokeValidateFunction(inputName);  
    });  
});  

/*  
 * 输入input名称,调用对应的validate方法。  
 * 例如input名称为:loginname,那么调用validateLoginname()方法。  
 */  
function invokeValidateFunction(inputName) {  
    inputName = inputName.substring(0, 1).toUpperCase() + inputName.substring(1);  
    var functionName = "validate" + inputName;  
    return eval(functionName + "()");     
}  

/*  
 * 校验密码  
 */  
function validateLoginpass() {  
    var bool = true;  
    $("#loginpassError").css("display", "none");  
    var value = $("#loginpass").val();  
    if(!value) {// 非空校验  
        $("#loginpassError").css("display", "");  
        $("#loginpassError").text("密码不能为空!");  
        bool = false;  
    } else if(value.length < 3 || value.length > 20) {//长度校验  
        $("#loginpassError").css("display", "");  
        $("#loginpassError").text("密码长度必须在3 ~ 20之间!");  
        bool = false;  
    });  
    return bool;  
}  

// 校验新密码  
function validateNewpass() {  
    var bool = true;  
    $("#newpassError").css("display", "none");  
    var value = $("#newpass").val();  
    if(!value) {// 非空校验  
        $("#newpassError").css("display", "");  
        $("#newpassError").text("新密码不能为空!");  
        bool = false;  
    } else if(value.length < 3 || value.length > 20) {//长度校验  
        $("#newpassError").css("display", "");  
        $("#newpassError").text("新密码长度必须在3 ~ 20之间!");  
        bool = false;  
    }  
    return bool;  
}  

/*  
 * 校验确认密码  
 */  
function validateReloginpass() {  
    var bool = true;  
    $("#reloginpassError").css("display", "none");  
    var value = $("#reloginpass").val();  
    if(!value) {// 非空校验  
        $("#reloginpassError").css("display", "");  
        $("#reloginpassError").text("确认密码不能为空!");  
        bool = false;  
    } else if(value != $("#newpass").val()) {//两次输入是否一致  
        $("#reloginpassError").css("display", "");  
        $("#reloginpassError").text("两次密码输入不一致!");  
        bool = false;  
    }  
    return bool;      
}  

/*  
 * 校验验证码  
 */  
function validateVerifyCode() {  
    var bool = true;  
    $("#verifyCodeError").css("display", "none");  
    var value = $("#verifyCode").val();  
    if(!value) {//非空校验  
        $("#verifyCodeError").css("display", "");  
        $("#verifyCodeError").text("验证码不能为空!");  
        bool = false;  
    } else if(value.length != 4) {//长度不为4就是错误的  
        $("#verifyCodeError").css("display", "");  
        $("#verifyCodeError").text("错误的验证码!");  
        bool = false;  
    } else {//验证码是否正确  
        $.ajax({  
            cache: false,  
            async: false,  
            type: "POST",  
            dataType: "json",  
            data: {method: "ajaxValidateVerifyCode", verifyCode: value},  
            url: "/goods/UserServlet",  
            success: function(flag) {  
                if(!flag) {  
                    $("#verifyCodeError").css("display", "");  
                    $("#verifyCodeError").text("错误的验证码!");  
                    bool = false;                     
                }  
            }  
        });  
    }  
    return bool;  
}  

你可能感兴趣的:(js经典校验之注册与登录校验)