JavaScript數字和字母組合驗證碼詳解
驗證碼都比較熟悉,當前驗證碼多種多樣,本文分享一種最為簡單的驗證碼效果。
由數字和字母組成,程式碼例項如下:
[HTML] 純文字檢視 複製程式碼執行程式碼<!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> <style type="text/css"> .code{ font-family:Arial; font-style:italic; color:Red; border:0; padding:2px 3px; letter-spacing:3px; font-weight:bolder; } .unchanged { border:0; } </style> <script type="text/javascript"> function createCode(){ var code = ""; var codeLength = 4; var checkCode = document.getElementById("checkCode"); var selectChar = 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'); for(var i=0;i<codeLength;i++){ var charIndex = Math.floor(Math.random()*36); code +=selectChar[charIndex]; } if(checkCode){ checkCode.className="code"; checkCode.value = code; } } function validate (){ var inputCode = document.getElementById("input1").value; if(inputCode.length <=0){ alert("請輸入驗證碼!"); } else if(inputCode != code ){ alert("驗證碼輸入錯誤!"); createCode();//重新整理驗證碼 } else{ alert("驗證碼正確"); } } window.onload=function(){ createCode(); var checkCode=document.getElementById("checkCode"); var bt=document.getElementById("bt"); checkCode.onclick=function(){ createCode(); } bt.onclick=function(){ validate(); } } </script> </head> <body> <form action="#"> <input type="text" id="input1" /> <input type="text" readonly="readonly" id="checkCode" class="unchanged"/> <br /> <input id="bt" type="button" value="確定" /> </form> </body> </html>
一.程式碼註釋:
(1).function createCode(){},此函式可以建立驗證碼。
(2).var code = "",宣告一個變數,並賦初值為空,為了儲存驗證碼字串。
(3).var codeLength = 4,設定驗證碼的長度。
(4).var checkCode = document.getElementById("checkCode"),獲取id屬性值為checkCode的物件。
(5).var selectChar = 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'),建立一陣列,此陣列中的元素就是驗證碼的組成字元。
(6).for(var i=0;i<codeLength;i++){},通過遍歷的方式生成驗證碼。
(7).var charIndex = Math.floor(Math.random()*36),通過隨機函式Math.random()乘以36(陣列元素的個數),再通過Math.floor()函式進行下舍入,就會取得隨機索引值。
(8).code +=selectChar[charIndex],將隨機取得陣列元素連線成字串。
(9).if(checkCode){ checkCode.className="code"; checkCode.value = code; } ,設定文字框的樣式和value值(也即是驗證碼內容)。
二.相關閱讀:
(1).Math.floor()參閱JavaScript Math.floor()方法一章節。
(2).Math.random()參閱JavaScript Math.random()一章節。
相關文章
- Python識別字母數字組合驗證碼Python
- PHP實現隨機數字、字母的驗證碼功能PHP隨機
- 一對一聊天原始碼,驗證碼生成隨機數字排列組合原始碼隨機
- Java之生成一個隨機驗證碼(數字+大小寫字母)Java隨機
- JavaScript驗證碼生成和驗證效果JavaScript
- 身份證號碼的正規表示式及驗證詳解(JavaScript,Regex)JavaScript
- Django模型驗證器詳解和原始碼分析Django模型原始碼
- 字母和數字交替輸出,並保證字母永遠排在前面
- JavaScript數字分頁效果詳解JavaScript
- JavaScript隨機五位數驗證碼JavaScript隨機
- 一對一聊天原始碼,驗證碼選擇輸入字母驗證原始碼
- 簡單的數字驗證碼破解
- PHP非字母數字の程式碼PHP
- js驗證數字JS
- 17_電話號碼的字母組合
- 使用 Ruby 識別英文數字驗證碼
- 使用 Swift 識別英文數字驗證碼Swift
- 使用 OCaml 識別英文數字驗證碼
- JavaScript數字上下翻動變化詳解JavaScript
- isAlnum判斷字元是否為字母數字字元(字母和數字都屬於字母數字字元)字元
- Vue 前端圖形數字驗證碼外掛Vue前端
- 使用 C# 識別英文數字驗證碼C#
- 瞭解 JavaScript 函數語言程式設計 - 程式碼組合的優勢JavaScript函數程式設計
- javascript身份證號碼校驗JavaScript
- php短視訊原始碼,自動生成驗證碼,支援點選更換驗證碼數字PHP原始碼
- 17. 電話號碼的字母組合-c++C++
- 利用tesseract解析簡單數字驗證碼圖片
- 智慧驗證碼助力銀行數字化營銷
- 識別英文數字驗證碼的程式(Python示例)Python
- 程式碼填空:組合數字 計蒜客 - A1145
- 組合數字首和
- 程式碼隨想錄演算法訓練營第22天 | 77.組合 216.組合總和 17.電話號碼的字母組合演算法
- leetcode日記17. 電話號碼的字母組合LeetCode
- 驗證碼影像處理(JavaScript 版)JavaScript
- 詳解驗證碼與打碼平臺的攻防對抗
- PostgreSQL 生成隨機數字、字串、日期、驗證碼以及 UUIDSQL隨機字串UI
- 識別英文數字驗證碼的程式(C# 示例)C#
- 《驗證碼“適老化”白皮書》 助力數字金融適老化