使用AJAX(包含正則表達(dá)式)驗(yàn)證用戶登錄的步驟
我們來(lái)分一下步驟吧:
1.HTML代碼,頁(yè)面先寫出來(lái);
2.正則表達(dá)式驗(yàn)證輸入的用戶名密碼是否正確,失去焦點(diǎn)驗(yàn)證
3.Ajax異步提交
4.servlet這是后臺(tái)處理代碼獲取數(shù)據(jù)并對(duì)比響應(yīng),然后跳轉(zhuǎn)成功頁(yè)面
效果圖:

結(jié)構(gòu):

代碼如下:
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<script type="text/javascript" src="JS/jQuery.js"></script>
<style type="text/css">
table {
width: 360px;
height: 45px:
text-align: center;
margin-top: 120px;
border-collapse: collapse;
}
input {
width: 280px;
height: 30px;
}
</style>
</head>
<body>
<form action="#" method="post">
<center>
<table align="center" border="1">
<tr>
<td>用戶名:</td>
<td><input type="text" name="name" id="username"
onblur="verifyName()" /></td>
</tr>
<tr>
<td>密碼:</td>
<td><input type="text" name="pwd" id="mypwd"
onblur="verifyPwd()" /></td>
</tr>
<tr>
<td colspan="3" align="center" height="36px"><input
type="button" style="width: 8rem;height:27px" value="提交登錄驗(yàn)證" /></td>
</tr>
</table>
</center>
</form>
<script type="text/javascript">
function verifyName() {
//用戶名校驗(yàn)
var verifyName = document.getElementById("username").value;
var name = /^[A-Z][0-9A-Za-z_][a-zA-Z0-9_]{5,19}$/; // 大寫字母開(kāi)頭 6-20位字符(不允許有符號(hào)但是允許有_)
if (!name.test(verifyName)) {
//$("#username").after("<span>大寫字母開(kāi)頭6-20位字符(不允許有符號(hào)但是允許有_)</span>");
$("#username").css("border-color", "red");
return false;
} else {
return true;
}
}
function verifyPwd() {
//密碼
var verifyPwd = document.getElementById("mypwd").value;
var pwd = /^[A-Z][A-Za-z0-9]\w{7,14}.{1,20}$/; //大寫開(kāi)頭 數(shù)字字母符號(hào)混合 8-15位
if (!pwd.test(verifyPwd)) {
$("#username").css("border-color", "red");
return false;
} else {
return true;
}
}
$(function() {
$(":button").on("click", function() {
$.ajax({
type : "post",
url : "AJAXServlet",
data : {
name : $("#username").val(),
pwd : $("#mypwd").val()
},
dataType : "text",
success : function(data) {
if (data == "ok") {
window.location.href = "show.jsp";
} else {
alert("登錄失敗!");
$("#mypwd").val("");
$("#username").focus().select();
}
}
});
});
});
</script>
</body>
</html>
servlet代碼:
package com.chaz.servlet;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class AJAXServlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request, response);
}
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html;charset=utf-8");
request.setCharacterEncoding("utf-8");
PrintWriter out = response.getWriter();
String name = "ZhangSan";
String pwd = "Zhang123456";
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");
}
out.flush();
out.close();
}
}
web.xml:
<?xml version="1.0" encoding="UTF-8"?> <web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"> <servlet> <description>This is the description of my J2EE component</description> <display-name>This is the display name of my J2EE component</display-name> <servlet-name>AJAXServlet</servlet-name> <servlet-class>com.chaz.servlet.AJAXServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>AJAXServlet</servlet-name> <url-pattern>/AJAXServlet</url-pattern> </servlet-mapping> </web-app>
跳轉(zhuǎn)成功頁(yè)面就這個(gè)😄:
<body> 登錄成功!</body>
總結(jié)
以上所述是小編給大家介紹的使用AJAX(包含正則表達(dá)式)驗(yàn)證用戶登錄的步驟,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
如果你覺(jué)得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!
- Ajax和PHP正則表達(dá)式驗(yàn)證表單及驗(yàn)證碼
- Java使用正則表達(dá)式驗(yàn)證手機(jī)號(hào)和電話號(hào)碼的方法
- JS中驗(yàn)證整數(shù)和小數(shù)的正則表達(dá)式
- Android 2018最新手機(jī)號(hào)驗(yàn)證正則表達(dá)式方法
- 微信小程序?qū)崿F(xiàn)簡(jiǎn)單input正則表達(dá)式驗(yàn)證功能示例
- 基于jQuery實(shí)現(xiàn)的Ajax 驗(yàn)證用戶名唯一性實(shí)例代碼
- Ajax驗(yàn)證用戶名或昵稱是否已被注冊(cè)
- php傳值方式和ajax的驗(yàn)證功能
- 用AJAX實(shí)現(xiàn)頁(yè)面登陸以及注冊(cè)用戶名驗(yàn)證的簡(jiǎn)單實(shí)例
相關(guān)文章
Ajax與mysql數(shù)據(jù)交互制作留言板功能(全)
這篇文章主要為大家詳細(xì)介紹了Ajax與mysql數(shù)據(jù)交互,實(shí)現(xiàn)留言板功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-02-02
ajax實(shí)現(xiàn)改變狀態(tài)和刪除無(wú)刷新的實(shí)例
下面小編就為大家分享一篇ajax實(shí)現(xiàn)改變狀態(tài)和刪除無(wú)刷新的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2017-12-12
關(guān)于多個(gè)Ajax請(qǐng)求執(zhí)行返回先后的問(wèn)題示例探討
這篇文章主要與大家探討下關(guān)于多個(gè)Ajax請(qǐng)求執(zhí)行返回先后的問(wèn)題,需要的朋友可以參考下2014-07-07
簡(jiǎn)單實(shí)現(xiàn)ajax獲取跨域數(shù)據(jù)
這篇文章主要為大家詳細(xì)介紹了如何簡(jiǎn)單實(shí)現(xiàn)ajax獲取跨域數(shù)據(jù)的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-04-04
Ajax Control Toolkit 34個(gè)服務(wù)器端控件
Ajax Control Toolkit 34個(gè)服務(wù)器端控件,想要學(xué)習(xí)ajax的朋友可以參考下。2009-09-09
Ajax請(qǐng)求內(nèi)嵌套Ajax請(qǐng)求示例代碼
把全國(guó)省市的兩個(gè)XML文件整合成一個(gè)JSON格式的數(shù)據(jù),就想到了用Ajax嵌套的方法來(lái)解決,查找資料,加個(gè)async:false這個(gè)Ajax參數(shù)就行了2014-08-08

