欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

JavaScript實(shí)現(xiàn)移動(dòng)端短信驗(yàn)證碼流程介紹

 更新時(shí)間:2022年10月08日 15:18:02   作者:阿選不出來(lái)  
這篇文章主要為大家詳細(xì)介紹了javascript實(shí)現(xiàn)移動(dòng)端發(fā)送短信驗(yàn)證碼案例,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

實(shí)戰(zhàn)效果演示

實(shí)現(xiàn)原理

準(zhǔn)備: 一個(gè)輸入框, 四個(gè)div小盒子

原理: 監(jiān)聽(tīng)input輸入框,分別讓輸入的四個(gè)數(shù)字展現(xiàn)在那四個(gè)小盒子里,在運(yùn)用css知識(shí),讓四個(gè)小盒子覆蓋輸入框.

附上動(dòng)畫:

代碼部分

HTML

<div class="val-box" id="val-box">
    <input type="text" id="val-code-input" maxlength="4" onkeyup="checkNum(this)" onblur="checkNum(this)">
    <div name="val-item"></div>
    <div name="val-item"></div>
    <div name="val-item"></div>
    <div name="val-item"></div>
</div>

JS

首先聊聊 checkNum() 函數(shù), 當(dāng)我們輸入驗(yàn)證碼的時(shí)候,難免會(huì)有人輸入一些非數(shù)字的字符進(jìn)去, checkNum() 的作用就是將所有輸入的不是數(shù)字的字符轉(zhuǎn)換為空值.

function checkNum(e) {
    e.value = e.value.replace(/[\D]/g,'')
}

我們要做的第一步就是獲取元素,數(shù)據(jù)初始化, 并且讓用戶一開(kāi)始輸入就去聚焦到輸入框內(nèi).

const valBox = document.querySelector(".val-box")
// 輸入框一被點(diǎn)擊就聚焦到輸入框
valBox.addEventListener("click", () => {
    console.log("聚焦");
    valCodeInput.focus()
})

第二步, 即時(shí)的反映輸入框內(nèi)的值

// 獲取div小盒子
const valCodeItems = document.getElementsByName("val-item")
// 獲取輸入框
const valCodeInput = document.querySelector("#val-code-input")
const regex = /^[\d]+$/
// 驗(yàn)證碼初始長(zhǎng)度為0
let valCodeLength = 0
valCodeInput.addEventListener("input", (e) => {
    valCodeLength = valCodeInput.value.length
    // 如果輸入的值符合要求
    if(valCodeInput.value && regex.test(valCodeInput.value)) {
        // 讓div下邊框邊藍(lán)
       valCodeItems[valCodeLength - 1].classList.add('available');
        // div的值與input的值相對(duì)應(yīng)
        valCodeItems[valCodeLength - 1].innerText = valCodeInput.value.substring(valCodeLength - 1, valCodeLength)
    }
})

點(diǎn)擊獲取驗(yàn)證碼或點(diǎn)擊第一個(gè)數(shù)字輸入框時(shí)獲取焦點(diǎn), 并添加available 樣式,使得第一個(gè)小盒子地邊框邊藍(lán)

valCodeItems[0].addEventListener("click", (e) => {
    valCodeInput.focus()
    valCodeItems[0].classList.add("available")
})

第三步, 完善刪除鍵,當(dāng)刪除鍵抬起的時(shí)候,刪除最后一個(gè)小盒子內(nèi)的數(shù)字,并去除下邊框變藍(lán)效果

window.addEventListener("keyup", (e) => {
    if(e.keyCode === 8) {
        valCodeItems[valCodeLength].innerText = ""
        if(valCodeLength !== 0) {
            valCodeItems[valCodeLength].classList.remove("available")
        }
    }
})

接下來(lái)就是最后一步啦, 當(dāng)檢測(cè)到輸入框的長(zhǎng)度變?yōu)?時(shí),自動(dòng)發(fā)送短信驗(yàn)證請(qǐng)求.

到此這篇關(guān)于JavaScript實(shí)現(xiàn)移動(dòng)端短信驗(yàn)證碼流程介紹的文章就介紹到這了,更多相關(guān)JS短信驗(yàn)證碼內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Web制作驗(yàn)證碼功能實(shí)例代碼

    Web制作驗(yàn)證碼功能實(shí)例代碼

    web開(kāi)發(fā)中,經(jīng)常會(huì)使用驗(yàn)證碼功能,例如登錄、注冊(cè),或其他關(guān)鍵功能之前經(jīng)常會(huì)使用。下面通過(guò)實(shí)例代碼給大家介紹Web制作驗(yàn)證碼功能實(shí)例代碼,感興趣的朋友一起看看吧
    2017-06-06
  • layui 優(yōu)化button按鈕和彈出框的方法

    layui 優(yōu)化button按鈕和彈出框的方法

    今天小編就為大家分享一篇layui 優(yōu)化button按鈕和彈出框的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-08-08
  • JS中不為人知的五種聲明Number的方式簡(jiǎn)要概述

    JS中不為人知的五種聲明Number的方式簡(jiǎn)要概述

    聲明一個(gè)數(shù)值類型的變量我看到三種;我嘴角微微一笑:少年你還嫩了點(diǎn),哪止三種,我知道的至少有五種,好奇的你可以參考下哈,希望本文可以幫助到你
    2013-02-02
  • 微信小程序?qū)崿F(xiàn)倒計(jì)時(shí)調(diào)用相機(jī)自動(dòng)拍照功能

    微信小程序?qū)崿F(xiàn)倒計(jì)時(shí)調(diào)用相機(jī)自動(dòng)拍照功能

    這篇文章主要為大家詳細(xì)介紹了微信小程序?qū)崿F(xiàn)倒計(jì)時(shí)調(diào)用相機(jī)自動(dòng)拍照功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-06-06
  • JavaScript中使用Async實(shí)現(xiàn)異步控制

    JavaScript中使用Async實(shí)現(xiàn)異步控制

    async提供了很多函數(shù)用于異步流程控制,下面是async核心的幾個(gè)函數(shù),大家通過(guò)本文學(xué)習(xí)下,對(duì)使用async 實(shí)現(xiàn)異步控制相關(guān)知識(shí),感興趣的朋友一起看看吧
    2017-08-08
  • canvas 實(shí)現(xiàn)中國(guó)象棋

    canvas 實(shí)現(xiàn)中國(guó)象棋

    本文主要介紹了canvas 實(shí)現(xiàn)中國(guó)象棋的方法。具有很好的參考價(jià)值,下面跟著小編一起來(lái)看下吧
    2017-02-02
  • JavaScript防抖動(dòng)與節(jié)流處理

    JavaScript防抖動(dòng)與節(jié)流處理

    這篇文章介紹了JavaScript防抖動(dòng)與節(jié)流處理的方法,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-06-06
  • JavaScript實(shí)現(xiàn)全選取消效果

    JavaScript實(shí)現(xiàn)全選取消效果

    這篇文章主要為大家詳細(xì)介紹了JavaScript實(shí)現(xiàn)全選取消效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-12-12
  • JavaScript腳本庫(kù)編寫的方法

    JavaScript腳本庫(kù)編寫的方法

    本文給大家分享javascript腳本庫(kù)編寫的方法,涉及到j(luò)avascript腳本相關(guān)知識(shí),對(duì)javascript腳本相關(guān)知識(shí)感興趣的朋友一起學(xué)習(xí)吧
    2015-12-12
  • 利用JavaScript實(shí)現(xiàn)一個(gè)日期范圍選擇器

    利用JavaScript實(shí)現(xiàn)一個(gè)日期范圍選擇器

    日期范圍選擇器是一個(gè)常見(jiàn)的Web應(yīng)用功能,它允許用戶選擇一個(gè)日期范圍,本文我們將使用JavaScript來(lái)實(shí)現(xiàn)這個(gè)功能,感興趣的小伙伴可以了解下
    2024-01-01

最新評(píng)論