AJAX登录验证+正则表达式

AJAX登录验证+正则表达式

时间有限,先看效果图
在这里插入图片描述
话不多说,代码就完事了:
前端:

<%--
  Created by IntelliJ IDEA.
  User: Lenovo
  Date: 2019/10/24
  Time: 21:09
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
  <head>
    <title>$Title$</title>
  </head>
  <script src="js/jquery-3.1.1.min.js"></script>
  <style>
    *{
      font-family: "楷体";
    }
    input{
      width: 100px;
      height: 40px;
      margin-top: 20px;
      font-size: 25px;
      border-radius: 15px;
    }
    #pwd,#name{
      border: 1px solid #cccc;
      width: 200px;
      height: 40px;
      border-radius: 15px;
    }

  </style>
  <body>
  <center>
    <h1>AJAX登录系统</h1>
  <form action="#">
    账号:<input type="text" name="name" id="name"><span id="nameReg"></span><br>
    密码:<input type="text" name="pwd" id="pwd"><span id="pwdReg"></span><br>
    <input type="button" value="登录">
  </form>
  <div id="show"></div>
  </center>
<script>
  $(function () {

     $(":button").click(function () {
         $.ajax({
            type:"post",
             url:"/AjaxServlet",
             data:{
                 name:$("#name").val(),
                 pwd:$("#pwd").val(),
             },
             dataType:"text",
             success:function (data) {
                 if(data == "ok"){

                     window.location.href = "show.jsp";

                 }else{
                         $("#show").text("登录失败");
                 }
             }
         });
     });

      /**
       * 判断用户名和密码的正则表达式
       */
     $("#name").blur(function () {
         var userName = /^[A-Z][A-Za-z0-9_]{6,20}$/;
         way("name",userName);

         var nameStr = $("#nameReg").text();
         if(nameStr == "×"){
             $("#name").css("border-color","red");
         }else{
             $("#name").css("border","");
         }
     });
     $("#pwd").blur(function () {
         var password = /^[A-Z][a-z0-9_]{8,15}$/;
         way("pwd",password);

         var pwdStr = $("#pwdReg").text();
         if(pwdStr == "×"){
             $("#pwd").css("border-color","red");
         }else{
             $("#pwd").css("border","");
         }
     });

      /**
       * 创建动态span
       */

  });

  /**
   * 判断正则表达式
   * @param eleId
   * @param rule
   */
  function way(eleId,rule){
      var inputValue = document.getElementById(eleId).value;
      var result = rule.test(inputValue.trim());
      if(result){
          document.getElementById(eleId+"Reg").innerHTML = "√";
          document.getElementById(eleId+"Reg").style.color = "red";
      }else{
          document.getElementById(eleId+"Reg").innerHTML = "×";
          document.getElementById(eleId+"Reg").style.color = "red";

          $("input[name$='me']").css("border-color","red");
      }
  }
</script>
  </body>
</html>

servlet代码

package servlet;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;

@WebServlet(value = "/AjaxServlet")
public class AjaxServlet extends HttpServlet {
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        request.setCharacterEncoding("utf-8");
        response.setContentType("text/html;charset = utf-8");
        PrintWriter out = response.getWriter();

        String name = "A_xsa123456";
        String pwd = "xsa17637143174";

        String ajaxName = request.getParameter("name");
        String ajaxPwd = request.getParameter("pwd");

        System.out.println(ajaxName+":"+ajaxPwd);

        if(name.equals(ajaxName) && pwd.equals(ajaxPwd)){
            out.print("ok");
        }else{
            out.print("error");
        }

    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        this.doPost(request,response);
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值