JavaScript實(shí)現(xiàn)驗(yàn)證碼案例
本文實(shí)例為大家分享了JavaScript實(shí)現(xiàn)驗(yàn)證碼效果的具體代碼,供大家參考,具體內(nèi)容如下
今天的案例,效果如下:
這個案例的實(shí)現(xiàn)其實(shí)沒有很多難點(diǎn),讓我們一起來看看吧~
html和css的實(shí)現(xiàn),在這里就不做解釋啦,可以比對下面的代碼自己實(shí)現(xiàn)一下,注意一下細(xì)節(jié)就好了
接著咱們來看看js的實(shí)現(xiàn):
我們需要做到的有兩點(diǎn):
1、實(shí)現(xiàn)驗(yàn)證碼的隨機(jī)產(chǎn)生,使其在頁面刷新和點(diǎn)擊更換時能夠生成
2、實(shí)現(xiàn)輸入字符串和驗(yàn)證碼的比較
第一點(diǎn)呢,我們需要用到for循環(huán)和Math.round(Math.random()*n)
,使得在每一次循環(huán)中可以產(chǎn)生隨機(jī)數(shù)字
第二點(diǎn)呢,我們只需要通過input.value
來獲得用戶輸入的字符串,然后將其與之前隨機(jī)產(chǎn)生的字符串進(jìn)行比較即可(使用===)
其他的細(xì)節(jié)可以去代碼中查看哦
<!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="#" id="checka">看不清換一張</a> </div> <div class="ma"> <label for="zheng">驗(yàn)證碼</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);//注意這個寫法,取隨機(jī)數(shù) 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>
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- Jsp生成頁面驗(yàn)證碼的方法[附代碼]
- JavaScript 驗(yàn)證碼的實(shí)例代碼(附效果圖)
- js實(shí)現(xiàn)簡單的驗(yàn)證碼
- js實(shí)現(xiàn)點(diǎn)擊獲取驗(yàn)證碼倒計時效果
- JS 驗(yàn)證碼功能的三種實(shí)現(xiàn)方式
- js生成的驗(yàn)證碼的實(shí)現(xiàn)與技術(shù)分析
- js生成驗(yàn)證碼并直接在前端判斷
- js+canvas實(shí)現(xiàn)滑動拼圖驗(yàn)證碼功能
- JS制作圖形驗(yàn)證碼實(shí)現(xiàn)代碼
- js實(shí)現(xiàn)登錄注冊框手機(jī)號和驗(yàn)證碼校驗(yàn)(前端部分)
相關(guān)文章
js實(shí)現(xiàn)隨機(jī)數(shù)小游戲
這篇文章主要為大家詳細(xì)介紹了js實(shí)現(xiàn)隨機(jī)數(shù)小游戲,具有一定的參考價值,感興趣的小伙伴們可以參考一下2019-06-06JavaScript手寫數(shù)組的常用函數(shù)總結(jié)
這篇文章主要給大家介紹了關(guān)于JavaScript手寫數(shù)組常用函數(shù)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11layer.open 子頁面彈出層向父頁面?zhèn)鬏敂?shù)據(jù)的例子
今天小編就為大家分享一篇layer.open 子頁面彈出層向父頁面?zhèn)鬏敂?shù)據(jù)的例子,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-09-09Javascript 創(chuàng)建類并動態(tài)添加屬性及方法的簡單實(shí)現(xiàn)
下面小編就為大家?guī)硪黄狫avascript 創(chuàng)建類并動態(tài)添加屬性及方法的簡單實(shí)現(xiàn)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-10-10Javascript中字符串相關(guān)常用的使用方法總結(jié)
本篇文章主要介紹了Javascript中字符串相關(guān)常用的使用方法。具有很好的參考價值。下面跟著小編一起來看下吧2017-03-03javascript隨機(jī)抽取0-100之間不重復(fù)的10個數(shù)
這篇文章主要為大家詳細(xì)介紹了javascript隨機(jī)抽取0-100之間不重復(fù)的10個數(shù),分享了兩種簡單辦法,感興趣的小伙伴們可以參考一下2016-02-02基于JavaScript實(shí)現(xiàn)回到頁面頂部動畫代碼
這篇文章主要介紹了基于JavaScript實(shí)現(xiàn)回到頁面頂部動畫代碼的相關(guān)資料,代碼簡單易用,非常實(shí)用,需要的朋友可以參考下2016-05-05JavaScript中通過prototype屬性共享屬性和方法的技巧實(shí)例
這篇文章主要介紹了JavaScript中通過prototype屬性共享屬性和方法的技巧實(shí)例,本文直接給出一個代碼實(shí)例,需要的朋友可以參考下2015-03-03