JavaScript實現(xiàn)驗證碼案例
本文實例為大家分享了JavaScript實現(xiàn)驗證碼效果的具體代碼,供大家參考,具體內(nèi)容如下
今天的案例,效果如下:

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

