JavaScript實(shí)現(xiàn)隨機(jī)碼的生成與校驗(yàn)
JavaScript之隨機(jī)碼的生成與校驗(yàn),供大家參考,具體內(nèi)容如下
由于獲取事件源有兩種寫法,所以在此處都附上:
這個(gè)是直接用var去定義的
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>隨機(jī)驗(yàn)證碼校驗(yàn)</title> <style type="text/css"> #code{ width: 100px; height: 100px; background-color: #ddd; padding: 10px; line-height: 100px; text-align: center; font-size: 20px; color: red; /*font-weight: bold;*/ } </style> </head> <body> <div id="code"></div> <input type="text" name="" id="newCode"> <input type="button" name="" id="validate" value="驗(yàn)證"> <script type="text/javascript"> window.onload = function (){ var code; // 1.獲取對(duì)應(yīng)的標(biāo)簽 var codeDiv = document.getElementById("code"); var newCodeInput = document.getElementById("newCode"); var validate = document.getElementById("validate"); // 加載頁(yè)面獲取對(duì)應(yīng)驗(yàn)證碼 creatCode() // 1.獲取min到max之間的整數(shù) 1~100 function random(max,min){ return Math.floor(Math.random()*(max-min)+min); } function creatCode(){ code = ""; // 設(shè)置長(zhǎng)度 var codeLenth = 4; var randomCode =[0,1,2,3,4,5,6,7,8,9,"A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"]; for(var i=0;i<codeLenth;i++){ // 設(shè)置隨機(jī)范圍36范圍 var index = random(0,36); code += randomCode[index]; } codeDiv.innerHTML = code; } // 驗(yàn)證按鈕校驗(yàn) validate.onclick = function (){ // 獲取輸入用戶的驗(yàn)證碼 var newCode = newCodeInput.value.toUpperCase(); if (newCode === code){ // 驗(yàn)證成功 跳轉(zhuǎn)對(duì)應(yīng)的網(wǎng)址 window.location.; }else { // 驗(yàn)證失敗 alert("驗(yàn)證失敗,請(qǐng)重新輸入") // 輸入框置空 newCodeInput.value = ""; // 重新獲取驗(yàn)證碼 creatCode(); } } } </script> </body> </html>
這個(gè)是用function定義變量的:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>隨機(jī)驗(yàn)證碼校驗(yàn)</title> <style type="text/css"> #code{ width: 100px; height: 100px; background-color: #ddd; padding: 10px; line-height: 100px; text-align: center; font-size: 20px; color: red; /*font-weight: bold;*/ } </style> </head> <body> <div id="code"></div> <input type="text" name="" id="newCode"> <input type="button" name="" id="validate" value="驗(yàn)證"> <script type="text/javascript"> window.onload = function (){ var code; // 1.獲取對(duì)應(yīng)的標(biāo)簽(獲取事件源) function $(id){ return typeof id === "string"?document.getElementById(id):null; } // 加載頁(yè)面獲取對(duì)應(yīng)驗(yàn)證碼 creatCode() // 1.獲取min到max之間的整數(shù) 1~100 function random(max,min){ return Math.floor(Math.random()*(max-min)+min); } function creatCode(){ code = ""; // 設(shè)置長(zhǎng)度 var codeLenth = 4; var randomCode =[0,1,2,3,4,5,6,7,8,9,"A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"]; for(var i=0;i<codeLenth;i++){ // 設(shè)置隨機(jī)范圍36范圍 var index = random(0,36); code += randomCode[index]; } $("code").innerHTML = code; } // 驗(yàn)證按鈕校驗(yàn) $("validate").onclick = function (){ // 獲取輸入用戶的驗(yàn)證碼 var newCode = $("newCode").value.toUpperCase(); if (newCode === code){ // 驗(yàn)證成功 跳轉(zhuǎn)對(duì)應(yīng)的網(wǎng)址 window.location.; }else { // 驗(yàn)證失敗 alert("驗(yàn)證失敗,請(qǐng)重新輸入") // 輸入框置空 $("newCode").value = ""; // 重新獲取驗(yàn)證碼 creatCode(); } } } </script> </body> </html>
兩種方式所實(shí)現(xiàn)效果一樣。附上效果圖:
當(dāng)輸入錯(cuò)誤的數(shù)據(jù)進(jìn)行驗(yàn)證時(shí),會(huì)提示:
當(dāng)輸入正確的數(shù)據(jù)進(jìn)行驗(yàn)證時(shí),點(diǎn)擊驗(yàn)證,如果驗(yàn)證成功,會(huì)跳轉(zhuǎn)指定路徑。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
利用Javascript裁剪圖片并存儲(chǔ)的簡(jiǎn)單實(shí)現(xiàn)
裁剪圖片對(duì)我們來(lái)說(shuō)是再熟悉不過(guò)的了,最近工作中就又遇到了這個(gè)需求,所以想著干脆整理下來(lái),方法大家和自己在需要的時(shí)候參考學(xué)習(xí),所以這篇文章主要介紹了利用Javascript裁剪圖片并存儲(chǔ)的簡(jiǎn)單實(shí)現(xiàn),后端PHP處理我用的是THINKPHP框架,需要的朋友可以參考下。2017-03-03JavaScript設(shè)計(jì)模式之裝飾者模式介紹
這篇文章主要介紹了JavaScript設(shè)計(jì)模式之裝飾者模式介紹,通一個(gè)類來(lái)動(dòng)態(tài)的對(duì)另一個(gè)類的功能對(duì)象進(jìn)行前或后的修飾,給它輔加一些額外的功能; 這是對(duì)一個(gè)類對(duì)象功能的裝飾,裝飾的類跟被裝飾的類,要求擁有相同的訪問(wèn)接口方法(功能),需要的朋友可以參考下2014-12-12DOM節(jié)點(diǎn)刪除函數(shù)removeChild()用法實(shí)例
這篇文章主要介紹了DOM節(jié)點(diǎn)刪除函數(shù)removeChild()用法,實(shí)例分析了removeChild()函數(shù)實(shí)現(xiàn)結(jié)點(diǎn)刪除的技巧,需要的朋友可以參考下2015-01-01JS解析json數(shù)據(jù)并將json字符串轉(zhuǎn)化為數(shù)組的實(shí)現(xiàn)方法
json數(shù)據(jù)在ajax實(shí)現(xiàn)異步交互時(shí)起到了很重要的作用,他可以返回請(qǐng)求的數(shù)據(jù),然后利用客戶端的js進(jìn)行解析,這一點(diǎn)體現(xiàn)出js的強(qiáng)大,本文介紹JS解析json數(shù)據(jù)并將json字符串轉(zhuǎn)化為數(shù)組的實(shí)現(xiàn)方法,需要了解的朋友可以參考下2012-12-12js實(shí)現(xiàn)帶農(nóng)歷和八字等信息的日歷特效
本文主要介紹了js實(shí)現(xiàn)帶農(nóng)歷和八字等信息的日歷特效,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考2016-05-05echarts報(bào)錯(cuò)Cannot?read?properties?of?null?(reading?‘getA
最近在開發(fā)Echarts忽然遇到了個(gè)問(wèn)題,這篇文章主要給大家介紹了關(guān)于echarts報(bào)錯(cuò)Cannot?read?properties?of?null?(reading?‘getAttribute‘)的解決方法,需要的朋友可以參考下2023-01-01JS實(shí)現(xiàn)把鼠標(biāo)放到鏈接上出現(xiàn)滾動(dòng)文字的方法
這篇文章主要介紹了JS實(shí)現(xiàn)把鼠標(biāo)放到鏈接上出現(xiàn)滾動(dòng)文字的方法,涉及JavaScript響應(yīng)鼠標(biāo)事件動(dòng)態(tài)操作頁(yè)面元素的相關(guān)技巧,需要的朋友可以參考下2016-04-04