您好,登錄后才能下訂單哦!
這篇文章主要介紹“如何用JavaScript代碼實現驗證碼功能”的相關知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“如何用JavaScript代碼實現驗證碼功能”文章能幫助大家解決問題。
效果如下:
我們需要做到的有兩點:
1、實現驗證碼的隨機產生,使其在頁面刷新和點擊更換時能夠生成
2、實現輸入字符串和驗證碼的比較
第一點呢,我們需要用到for循環和Math.round(Math.random()*n)
,使得在每一次循環中可以產生隨機數字
第二點呢,我們只需要通過input.value
來獲得用戶輸入的字符串,然后將其與之前隨機產生的字符串進行比較即可(使用===)
其他的細節可以去代碼中查看哦
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <style> .container{ width: 400px; height: 100px; margin:100px auto; background-color: hsla(180, 73%, 78%, 0.199); border-radius: 20px; text-align: center; padding: 20px; } #check{ display: inline-block; width: 100px; height: 30px; text-align: center; background-color: rgba(128, 128, 128, 0.158); color:blue; font-size:26px; font-style: italic; letter-spacing: 2px; font-family:Arial, Helvetica, sans-serif; margin-bottom: 10px; } .ma{ margin-bottom: 12px; } </style> </head> <body> <div class="container"> <div> <span id="check">adf34y</span> <a href="#" rel="external nofollow" id="checka">看不清換一張</a> </div> <div class="ma"> <label for="zheng">驗證碼</label> <input type="text" id="zheng"> </div> <button id="btn">確定</button> </div> <script> let sum=[0,1,2,3,4,5,6,7,8,9,'a','b','c','d','e','f']; var check=document.getElementById("check"); var code; function fun(){ let str=""; for(let i=0;i<6;i++){ let pos=Math.round(Math.random()*15);//注意這個寫法,取隨機數 str+=sum[pos]; } check.innerHTML=str; return str; } window.onload=function(){ code=fun(); } let checka=document.getElementById("checka"); checka.onclick=function(){ code=fun(); } let btn=document.getElementById("btn"); btn.onclick=function(){ let t=document.getElementById("zheng").value; console.log(t) if(t==code){ alert("正確"); code=fun(); document.getElementById("zheng").value=""; } else{ alert("錯誤"); document.getElementById("zheng").value=""; } } </script> </body> </html>
關于“如何用JavaScript代碼實現驗證碼功能”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識,可以關注億速云行業資訊頻道,小編每天都會為大家更新不同的知識點。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。