JavaScript使用Math.random()生成簡(jiǎn)單的驗(yàn)證碼
第一種:?jiǎn)渭兊募償?shù)字驗(yàn)證碼
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>js驗(yàn)證碼</title>
</head>
<body>
<div class="yzm" style="width: 20%;height: 300px;text-align: center;background-color: pink;line-height: 200px;"></div>
</body>
</html>
<script>
window.onload = function () {
var yzm=document.querySelector(".yzm");
//頁(yè)面一加載完成就生成隨機(jī)數(shù)調(diào)用rand()
yzm.innerHTML=rand(5);
//點(diǎn)擊切換隨機(jī)碼
yzm.onclick=function() {
var num = rand(5);
this.innerHTML = num;
};
//生成隨機(jī)碼
function rand(number){
//用來(lái)存儲(chǔ)產(chǎn)生的隨機(jī)數(shù)
var num="";
for(var i=0;i<number;i++){
num+=Math.floor(Math.random()*10)
}
return num;
}
}
</script>
第二種:輸入的驗(yàn)證碼與生成的驗(yàn)證碼進(jìn)行校驗(yàn)(數(shù)字與字母相結(jié)合)
<html>
<head>
<meta charset="UTF-8">
<title>驗(yàn)證碼</title>
<style type="text/css">
#code
{
font-family:Arial;
font-style:italic;
font-weight:bold;
border:0;
letter-spacing:2px;
color:blue;
}
</style>
</head>
<body>
<div>
<input type = "text" id = "input"/>
<input type = "button" id="code" onclick="createCode()"/>
<input type = "button" value = "驗(yàn)證" onclick = "validate()"/>
</div>
</body>
</html>
<script>
var code ; //在全局定義驗(yàn)證碼
var number = 5;//驗(yàn)證碼生成的個(gè)數(shù)
var checkCode = document.getElementById("code");
//產(chǎn)生驗(yàn)證碼(頁(yè)面一加載就生成)
window.onload = function (){
createCode();
};
//產(chǎn)生驗(yàn)證碼(輸入錯(cuò)誤的時(shí)候刷新驗(yàn)證碼,函數(shù)調(diào)用)
function createCode(){
code = "";
var codeLength = number;//驗(yàn)證碼的長(zhǎng)度
// var checkCode = document.getElementById("code");
var random = [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','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'];//隨機(jī)數(shù)
for(var i = 0; i < codeLength; i++) {//循環(huán)操作
var index = Math.floor(Math.random()*random.length);//取得隨機(jī)數(shù)的索引(random.length)
code += random[index];//根據(jù)索引取得隨機(jī)數(shù)加到code上
}
checkCode.value = code;//把code值賦給驗(yàn)證碼
}
//校驗(yàn)驗(yàn)證碼
function validate(){
var inputCode = document.getElementById("input").value.toUpperCase(); //取得輸入的驗(yàn)證碼并轉(zhuǎn)化為大寫(xiě)
if(inputCode.length <= 0) { //若輸入的驗(yàn)證碼長(zhǎng)度為0
alert("請(qǐng)輸入驗(yàn)證碼!"); //則彈出請(qǐng)輸入驗(yàn)證碼
} else if(inputCode != code.toUpperCase() ) { //將隨機(jī)產(chǎn)生的驗(yàn)證碼轉(zhuǎn)化為大寫(xiě),若輸入的驗(yàn)證碼與產(chǎn)生的驗(yàn)證碼不一致時(shí)
alert("驗(yàn)證碼輸入錯(cuò)誤!@_@"); //則彈出驗(yàn)證碼輸入錯(cuò)誤
createCode();//刷新驗(yàn)證碼
document.getElementById("input").value = "";//清空文本框
}
else { //輸入正確時(shí)
alert("正確^-^"); //彈出^-^
}
}
</script>
若有不足請(qǐng)多多指教!希望給您帶來(lái)幫助!
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請(qǐng)查看下面相關(guān)鏈接
相關(guān)文章
教你巧用?import.meta?實(shí)現(xiàn)熱更新的問(wèn)題
import.meta?是一個(gè)給?JavaScript?模塊暴露特定上下文的元數(shù)據(jù)屬性的對(duì)象,它包含了這個(gè)模塊的信息,這篇文章主要介紹了巧用?import.meta?實(shí)現(xiàn)熱更新的問(wèn)題,需要的朋友可以參考下2022-04-04
通過(guò)示例演示理解javascript預(yù)解析
這篇文章主要為大家介紹了通過(guò)示例演示理解javascript預(yù)解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步早日升職加薪2022-03-03
JS實(shí)現(xiàn)超簡(jiǎn)單的仿QQ折疊菜單效果
這篇文章主要介紹了JS實(shí)現(xiàn)超簡(jiǎn)單的仿QQ折疊菜單效果,可實(shí)現(xiàn)鼠標(biāo)滑過(guò)列表展開(kāi)的QQ折疊菜單效果,非常簡(jiǎn)單實(shí)用,需要的朋友可以參考下2015-09-09
js實(shí)現(xiàn)簡(jiǎn)單的點(diǎn)名器隨機(jī)色實(shí)例代碼
這篇文章主要給大家介紹了關(guān)于js實(shí)現(xiàn)簡(jiǎn)單的點(diǎn)名器隨機(jī)色的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-09-09
處理文本部分內(nèi)容的TextRange對(duì)象應(yīng)用實(shí)例
TextRange是用來(lái)表現(xiàn)HTML元素中文字的對(duì)象,是一個(gè)用于處理JavaScript對(duì)象文本部分內(nèi)容的一個(gè)對(duì)象2014-07-07
promise中reject和catch處理上區(qū)別對(duì)比分析
在 Promise 中,reject?和?catch?是處理異步操作失敗的兩種方式,本文給大家介紹promise中reject和catch處理上區(qū)別對(duì)比分析,感興趣的朋友跟隨小編一起看看吧2024-07-07
JavaScript實(shí)現(xiàn)的瀏覽器下載文件的方法
本文通過(guò)一段簡(jiǎn)單的代碼給大家介紹了js實(shí)現(xiàn)瀏覽器下載文件的方法,需要的的朋友參考下吧2017-08-08

