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
- php實現完整版驗證碼(數字+大小寫字母+干擾素)PHP
- 驗證只包含數字和英文字母的正規表示式程式碼例項
- 大小寫字母和數字的組合,不能使用特殊字元正規表示式字元
- 正規表示式驗證六位數以上數字,符號,字母任意兩種混合的密碼驗證策略符號密碼
- Django模型驗證器詳解和原始碼分析Django模型原始碼
- JavaScript數字分頁效果詳解JavaScript
- 只能由數字和字母組成的字串正規表示式字串
- 簡單的數字驗證碼破解
- JavaScript隨機五位數驗證碼JavaScript隨機
- PHP算式驗證碼和漢字驗證碼的實現方法PHP
- js驗證數字JS
- 身份證號碼的正規表示式及驗證詳解(JavaScript,Regex)JavaScript
- 一對一聊天原始碼,驗證碼選擇輸入字母驗證原始碼
- 17_電話號碼的字母組合
- js獲取數字和字母隨機數程式碼例項JS隨機
- PHP非字母數字の程式碼PHP
- JavaScript生成四位數字或者字母隨機數JavaScript隨機
- 規定字串由字母、數字、下劃線和點號組成字串
- 規定密碼以字母開頭只能包含字母、數字和下劃線密碼
- 使用 Ruby 識別英文數字驗證碼
- 使用 Swift 識別英文數字驗證碼Swift
- 使用 OCaml 識別英文數字驗證碼
- 檢測字串中數字和字母的數量程式碼例項字串
- 郵箱格式驗證程式碼詳解
- JavaScript生成指定長度的數字與字母字串JavaScript字串
- isAlnum判斷字元是否為字母數字字元(字母和數字都屬於字母數字字元)字元
- javascript驗證輸入文字框內容是否為數字JavaScript
- JavaScript 驗證輸入文字框內容是否為數字JavaScript
- JavaScript數字上下翻動變化詳解JavaScript
- 檢測字串是否是由字母或者數字組成字串
- 組合數字首和