Ajax 驗(yàn)證用戶輸入的驗(yàn)證碼是否與隨機(jī)生成的一致
后臺(tái)Java代碼【驗(yàn)證碼生成】
/**
* 隨機(jī)生成6位隨機(jī)驗(yàn)證碼
*/
public static String createRandomVcode(){
//驗(yàn)證碼
String vcode = "";
for (int i = 0; i < 6; i++) {
vcode = vcode + (int)(Math.random() * 9);
}
return vcode;
}
后臺(tái)Java代碼【使用驗(yàn)證碼并將驗(yàn)證碼保存到session里面】
String authCode = xioo.createRandomVcode(); //隨機(jī)生成驗(yàn)證碼
HttpSession session=request.getSession(); //session屬性
session.setAttribute("authCode", authCode); // 保存驗(yàn)證碼到session里面
后臺(tái)Java代碼【將用戶輸入的驗(yàn)證碼與session里面的驗(yàn)證碼對(duì)比】
HttpSession session=request.getSession();
String usercode=request.getParameter("user_code"); //獲取用戶輸入的驗(yàn)證碼
String sessioncode=(String) session.getAttribute("authCode"); //獲取保存在session里面的驗(yàn)證碼
String result="";
if( usercode != null && usercode.equals(sessioncode)){ //對(duì)比兩個(gè)code是否正確
result = "1";
}else{
result = "0";
}
PrintWriter out = response.getWriter();
out.write(result.toString()); //將數(shù)據(jù)傳到前臺(tái)
}
前臺(tái)Ajax代碼【獲取用戶輸入的代碼傳到后臺(tái)】
$(document).ready(function() {
$("#user_code").blur(function() {
var user_code = $("#user_code").val(); //ur事件
// 向后臺(tái)發(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'>√ 短信驗(yàn)證碼正確,請(qǐng)繼續(xù)</font>");
} else if (data == 0){
$("#error").html("<font color='red'>× 驗(yàn)證碼有誤,請(qǐng)核實(shí)后重新填寫</font>");
}
}
});
});
});
<input type="text" name="user_code" id="user_code" placeholder="請(qǐng)輸入驗(yàn)證碼"/>
以上就是本文的全部內(nèi)容,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來一定的幫助,同時(shí)也希望多多支持腳本之家!
- Ajax實(shí)現(xiàn)帶有驗(yàn)證碼的局部刷新登錄界面
- Ajax和PHP正則表達(dá)式驗(yàn)證表單及驗(yàn)證碼
- thinkphp驗(yàn)證碼的實(shí)現(xiàn)(form、ajax實(shí)現(xiàn)驗(yàn)證)
- Ajax提交表單時(shí)驗(yàn)證碼自動(dòng)驗(yàn)證 php后端驗(yàn)證碼檢測(cè)
- PHP+Ajax驗(yàn)證碼驗(yàn)證用戶登錄
- PHP+Ajax實(shí)現(xiàn)驗(yàn)證碼的實(shí)時(shí)驗(yàn)證
- PHP生成各種常見驗(yàn)證碼和Ajax驗(yàn)證過程
- jsp+ajax實(shí)現(xiàn)的局部刷新較驗(yàn)驗(yàn)證碼(onblur事件觸發(fā)較驗(yàn))
- 基于Ajax用戶名驗(yàn)證、服務(wù)條款加載、驗(yàn)證碼生成的實(shí)現(xiàn)方法
- asp.net ajax實(shí)現(xiàn)無刷新驗(yàn)證碼
相關(guān)文章
基于Java實(shí)現(xiàn)一個(gè)自己的HTTP瀏覽器
這篇文章主要為大家詳細(xì)介紹了如何基于Java實(shí)現(xiàn)一個(gè)自己的HTTP瀏覽器,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2024-01-01
mybatis-config.xml文件中的mappers標(biāo)簽使用
在MyBatis配置中,<mapper>標(biāo)簽關(guān)鍵用于指定SQL?Mapper的XML文件路徑,主要有三種指定方式:resource、url和class,Resource方式從類的根路徑開始,適合放在項(xiàng)目內(nèi)部保障移植性,URL方式指定絕對(duì)路徑,移植性差,適用于外部路徑2024-10-10
Java實(shí)現(xiàn)簡(jiǎn)單字符生成器代碼例子
這篇文章主要介紹了Java實(shí)現(xiàn)簡(jiǎn)單字符生成器代碼例子,本文直接給出實(shí)現(xiàn)代碼,需要的朋友可以參考下2015-06-06
Mybatis詳細(xì)對(duì)比一級(jí)緩存與二級(jí)緩存
MyBatis 包含一個(gè)非常強(qiáng)大的查詢緩存特性,它可以非常方便地配置和定制,緩存可以極大的提升查詢效率。MyBatis中默認(rèn)定義了兩級(jí)緩存,分別是一級(jí)緩存和二級(jí)緩存2022-10-10
Spring Boot+Jpa多數(shù)據(jù)源配置的完整步驟
這篇文章主要給大家介紹了關(guān)于Spring Boot+Jpa多數(shù)據(jù)源配置的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-01-01
在java中main函數(shù)如何調(diào)用外部非static方法
這篇文章主要介紹了在java中main函數(shù)如何調(diào)用外部非static方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-12-12

