Ajax 驗證用戶輸入的驗證碼是否與隨機(jī)生成的一致
后臺Java代碼【驗證碼生成】
/**
* 隨機(jī)生成6位隨機(jī)驗證碼
*/
public static String createRandomVcode(){
//驗證碼
String vcode = "";
for (int i = 0; i < 6; i++) {
vcode = vcode + (int)(Math.random() * 9);
}
return vcode;
}
后臺Java代碼【使用驗證碼并將驗證碼保存到session里面】
String authCode = xioo.createRandomVcode(); //隨機(jī)生成驗證碼
HttpSession session=request.getSession(); //session屬性
session.setAttribute("authCode", authCode); // 保存驗證碼到session里面
后臺Java代碼【將用戶輸入的驗證碼與session里面的驗證碼對比】
HttpSession session=request.getSession();
String usercode=request.getParameter("user_code"); //獲取用戶輸入的驗證碼
String sessioncode=(String) session.getAttribute("authCode"); //獲取保存在session里面的驗證碼
String result="";
if( usercode != null && usercode.equals(sessioncode)){ //對比兩個code是否正確
result = "1";
}else{
result = "0";
}
PrintWriter out = response.getWriter();
out.write(result.toString()); //將數(shù)據(jù)傳到前臺
}
前臺Ajax代碼【獲取用戶輸入的代碼傳到后臺】
$(document).ready(function() {
$("#user_code").blur(function() {
var user_code = $("#user_code").val(); //ur事件
// 向后臺發(fā)送處理數(shù)據(jù)
$.ajax({
url : "CheckCode", //目標(biāo)地址
data : "user_code=" + user_code, //傳輸?shù)臄?shù)據(jù)
type : "POST", // 用POST方式傳輸
dataType : "text", // 數(shù)據(jù)格式
success : function(data) {
data = parseInt(data, 10);
if (data == 1) {
$("#error").html("<font color='#339933'>√ 短信驗證碼正確,請繼續(xù)</font>");
} else if (data == 0){
$("#error").html("<font color='red'>× 驗證碼有誤,請核實后重新填寫</font>");
}
}
});
});
});
<input type="text" name="user_code" id="user_code" placeholder="請輸入驗證碼"/>
以上就是本文的全部內(nèi)容,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,同時也希望多多支持腳本之家!
相關(guān)文章
基于Java實現(xiàn)一個簡單的數(shù)據(jù)同步組件
這篇文章主要為大家詳細(xì)介紹了如何基于Java實現(xiàn)一個簡單的數(shù)據(jù)同步組件,文中的示例代碼講解詳細(xì),具有一定的借鑒價值,感興趣的小伙伴可以了解一下2023-06-06
Spring Security攔截器引起Java CORS跨域失敗的問題及解決
這篇文章主要介紹了Spring Security攔截器引起Java CORS跨域失敗的問題及解決,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-07-07
Java ArrayList擴(kuò)容機(jī)制原理深入分析
在Java中,ArrayList是最常用的集合之一。它是一種容器,它的內(nèi)部定義了一個Object類型的數(shù)組elementData,因此可用于存儲任意類型的數(shù)據(jù)。我們知道,數(shù)組是長度恒定的。而ArrayList相當(dāng)于是一個長度可變的動態(tài)數(shù)組,一起來看看的它的擴(kuò)容機(jī)制2023-02-02
關(guān)于logback日志級別動態(tài)切換的四種方式
這篇文章主要介紹了關(guān)于logback日志級別動態(tài)切換的四種方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-08-08
Spring?Boot實現(xiàn)WebSocket實時通信
本文主要介紹了Spring?Boot實現(xiàn)WebSocket實時通信,包含實現(xiàn)實時消息傳遞和群發(fā)消息等功能,具有一定的參考價值,感興趣的可以了解一下2024-05-05

