用Javascript實(shí)現(xiàn)發(fā)送短信驗(yàn)證碼間隔功能
在很多app和網(wǎng)站中,我們登陸或者注冊(cè)賬號(hào),會(huì)有一個(gè)發(fā)送短信驗(yàn)證碼的地方1,然而為了防止惡意獲取驗(yàn)證碼,我們一般都設(shè)置了可點(diǎn)擊的時(shí)間間隔,時(shí)間間隔1完了過(guò)后,便又可以繼續(xù)發(fā)送,接下來(lái)用代碼實(shí)現(xiàn)
代碼如下
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
手機(jī)號(hào)碼:<input type="text"><button>發(fā)送驗(yàn)證碼</button>
<script>
var btn=document.querySelector('button')
var time=3
btn.addEventListener('click',function () {
btn.disabled=true
var timer=setInterval(function () {
if (time<0){
clearInterval(timer)
btn.disabled=false
btn.innerHTML='發(fā)送驗(yàn)證碼'
time=3
}else {
btn.innerHTML = '還剩' + time + '秒'
time -= 1
}
},1000)
})
</script>
</body>
</html>
效果如下



代碼解釋
這里因?yàn)槲覀冎桓淖儼粹o的樣式和功能,所以只獲取了按鈕,然后設(shè)置一個(gè)time變量,這是倒計(jì)時(shí)的時(shí)間。然后設(shè)置點(diǎn)擊事件,當(dāng)我們點(diǎn)擊這個(gè)按鈕過(guò)后讓這個(gè)按鈕的disable變?yōu)閠rue,意思是不能夠點(diǎn)擊。
然后設(shè)置定時(shí)器,判斷如果倒計(jì)時(shí)小于0,那么清除定時(shí)器,倒計(jì)時(shí)結(jié)束,讓按鈕變?yōu)榭牲c(diǎn)擊,里面的1文字變?yōu)榘l(fā)送驗(yàn)證碼,接著重新給倒計(jì)時(shí)賦值為3.
如果倒計(jì)時(shí)大于0,把按鈕里面的文字改為'還剩' + time + ‘秒',time–,每循環(huán)一次都判斷一次
到此這篇關(guān)于用Javascript實(shí)現(xiàn)發(fā)送短信驗(yàn)證碼間隔的文章就介紹到這了,更多相關(guān)js發(fā)送短信驗(yàn)證碼內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- javascript實(shí)現(xiàn)發(fā)送短信驗(yàn)證碼案例
- 手動(dòng)實(shí)現(xiàn)js短信驗(yàn)證碼輸入框
- JS實(shí)現(xiàn)簡(jiǎn)單短信驗(yàn)證碼界面
- JavaScript獲取短信驗(yàn)證碼(周期性)
- JS實(shí)現(xiàn)用戶(hù)注冊(cè)時(shí)獲取短信驗(yàn)證碼和倒計(jì)時(shí)功能
- JS短信驗(yàn)證碼倒計(jì)時(shí)功能的實(shí)現(xiàn)(沒(méi)有驗(yàn)證碼,只有倒計(jì)時(shí))
- 基于JavaScript短信驗(yàn)證碼如何實(shí)現(xiàn)
- javascript發(fā)送短信驗(yàn)證碼實(shí)現(xiàn)代碼
- JavaScript實(shí)現(xiàn)移動(dòng)端短信驗(yàn)證碼流程介紹
相關(guān)文章
使用javascript做的一個(gè)隨機(jī)點(diǎn)名程序
這篇文章主要介紹了使用javascript做的一個(gè)隨機(jī)點(diǎn)名程序,經(jīng)測(cè)試,效果相當(dāng)不錯(cuò),需要的朋友可以參考下2014-02-02
JavaScript之instanceof方法手寫(xiě)示例詳解
JavaScript利用發(fā)布訂閱模式編寫(xiě)事件監(jiān)聽(tīng)函數(shù)
Javascript 中 null、NaN和undefined的區(qū)別總結(jié)
javascript實(shí)現(xiàn)秒表計(jì)時(shí)器的制作方法
微信小程序 列表的上拉加載和下拉刷新的實(shí)現(xiàn)
js基于canvas實(shí)現(xiàn)時(shí)鐘組件
微信小程序?qū)崿F(xiàn)移動(dòng)端滑動(dòng)分頁(yè)效果(ajax)
詳解TypeScript中type與interface的區(qū)別

