JavaScript驗證碼生成和驗證效果
本章節分享一段程式碼例項,它實現了動態生成驗證碼,並且能夠實現驗證碼輸入的驗證。
程式碼例項如下:
[HTML] 純文字檢視 複製程式碼執行程式碼<!doctype html> <html> <head> <meta charset="utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> <style> .v_code { width: 600px; margin: 0 auto; } .v_code > input { width: 60px; height: 36px; margin-top: 10px; } .code_show { overflow: hidden; } .code_show span { display: block; float: left; margin-bottom: 10px; } .code_show a { display: block; float: left; margin-top: 10px; margin-left: 10px; } .code { font-style: italic; background-color: #f5f5f5; color: blue; font-size: 30px; letter-spacing: 3px; font-weight: bolder; float: left; cursor: pointer; padding: 0 5px; text-align: center; } #inputCode { width: 100px; height: 30px; } a { text-decoration: none; font-size: 12px; color: #288bc4; cursor: pointer; } a:hover { text-decoration: underline; } </style> <script> var code; function createCode() { code = ""; var codeLength = 6; //驗證碼的長度 var checkCode = document.getElementById("checkCode"); var codeChars = new Array(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', '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 index = 0; index < codeLength; index++) { var charNum = Math.floor(Math.random() * 52); code += codeChars[charNum]; } if (checkCode) { checkCode.className = "code"; checkCode.innerHTML = code; } } function validateCode() { var inputCode = document.getElementById("inputCode").value; var textShow = document.getElementById("text_show") if (inputCode.length <= 0) { textShow.innerHTML = "請輸入驗證碼"; textShow.style.color = "red"; } else if (inputCode.toUpperCase() != code.toUpperCase()) { textShow.innerHTML = "您輸入的驗證碼有誤"; textShow.style.color = "red"; createCode(); } else { textShow.innerHTML = "驗證碼正確"; textShow.style.color = "green"; } } function checkCode(){ var btn = document.getElementById("Button1"); btn.onclick=function(){ validateCode(); } } window.onload = function () { checkCode(); createCode(); document.getElementById("checkCode").onclick = function () { createCode() } linkbt.onclick = function () { createCode() } inputCode.onclick = function () { validateCode(); } } </script> </head> <body> <div class="v_code"> <div class="code_show"> <span class="code" id="checkCode"></span> <a id="linkbt">看不清換一張</a> </div> <div class="input_code"> <label for="inputCode">驗證碼:</label> <input type="text" id="inputCode"/> <span id="text_show"></span> </div> <input id="Button1" type="button" value="確定" /> </div> </body> </html>
上面的程式碼實現了我們的妖氣,下面介紹一下它的實現過程。
一.程式碼註釋:
(1).var code,宣告一個變數,用來儲存驗證碼。
(2).function createCode() {},此函式可以建立一個驗證碼。
(3).code = "",先將驗證碼設定為空。
(4).var codeLength = 6,驗證碼的長度為6。
(5).var checkCode = document.getElementById("checkCode"),獲取id屬性值為checkCode的元素物件。
(6). var codeChars = new Array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9),此陣列用來儲存驗證碼所使用的字元。
(7).for (var index = 0; index < codeLength; index++) {
var charNum = Math.floor(Math.random() * 52);
code += codeChars[charNum];
},通過for迴圈犯事建立一個長度為6的驗證碼字串。
(8).if (checkCode) {
checkCode.className = "code";
checkCode.innerHTML = code;
}如果存在checkCode元素物件。
那麼就設定它的class屬性值和html字串內容。
(9).function validateCode() {},此函式實現了驗證功能。
(10).var inputCode = document.getElementById("inputCode").value,獲取輸入驗證碼的值。
(11).var textShow = document.getElementById("text_show"),獲取要顯示警告與的元素物件。
(12).if (inputCode.length <= 0) {
textShow.innerHTML = "請輸入驗證碼";
textShow.style.color = "red";
} else if (inputCode.toUpperCase() != code.toUpperCase()) {
textShow.innerHTML = "您輸入的驗證碼有誤";
textShow.style.color = "red";
createCode();
} else {
textShow.innerHTML = "驗證碼正確";
textShow.style.color = "green";
}上面是對驗證碼驗證的簡單邏輯。
(13).function checkCode(){
var btn = document.getElementById("Button1");
btn.onclick=function(){
validateCode();
}
},此函式可以實現事件處理函式的註冊功能。
二.相關閱讀:
(1).Math.floor()參閱javascript Math.floor()一章節。
(2).Math.random() 參閱js Math.random()一章節。
(3).className參閱js className一章節。
(4).innerHTML參閱innerHTML一章節。
(5).toUpperCase()參閱javascript toUpperCase()一章節。
相關文章
- 登入驗證碼生成kaptcha(輸入驗證碼)APT
- Python快速生成驗證碼Python
- golang 生成圖片驗證碼Golang
- Flutter 生成圖形驗證碼Flutter
- 驗證碼原理及驗證
- javascript身份證號碼校驗JavaScript
- 應用:隨機生成驗證碼隨機
- .Net WebAPI 生成圖形驗證碼WebAPI
- 驗證碼---js重新整理驗證碼JS
- 驗證碼影像處理(JavaScript 版)JavaScript
- SSL證書生成,完成HTTPS驗證HTTP
- Javascript驗證方法大全JavaScript
- javascript表單驗證JavaScript
- JavaScript 表單驗證JavaScript
- JavaScript 如何驗證 URLJavaScript
- 【日常筆記】生成驗證碼圖片筆記
- JavaScript數字和字母組合驗證碼詳解JavaScript
- easy-captcha實現驗證碼驗證APT
- JavaScript隨機五位數驗證碼JavaScript隨機
- JavaScript 表單驗證程式碼例項JavaScript
- 驗證碼機制之驗證碼重複使用
- Laravel - 驗證碼Laravel
- Response驗證碼
- PHP驗證碼PHP
- JavaScript郵箱格式驗證JavaScript
- php短視訊原始碼,自動生成驗證碼,支援點選更換驗證碼數字PHP原始碼
- PHP 驗證身份證號碼PHP
- 手機號碼驗證方法(正則驗證)
- 同一頁面生成多個驗證碼
- JB的Python之旅-爬蟲篇-圖形驗證碼(3)-- 驗證碼的生成了解下Python爬蟲
- 【驗證碼逆向專欄】某多多驗證碼逆向分析
- Spring boot 生成動態驗證碼並前後端校驗Spring Boot後端
- 【驗證碼逆向專欄】某驗“初代”滑塊驗證碼逆向分析
- 短視訊直播系統,接收到產生驗證碼請求時隨機生成驗證碼隨機
- ACCESS 密碼驗證/文字驗證中的小坑密碼
- C# 滑動驗證碼|拼圖驗證|SlideCaptchaC#IDEAPT
- 影片直播app原始碼,傳送驗證碼 驗證碼識別APP原始碼
- java之使用Servlet生成驗證碼的原始碼分享JavaServlet原始碼