最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Vue.js實(shí)現(xiàn)移動(dòng)端短信驗(yàn)證碼功能

 更新時(shí)間:2017年03月29日 08:48:33   作者:毛毛-lucy  
現(xiàn)在的短信驗(yàn)證碼一般為4位或6位,則頁面中會(huì)相應(yīng)的顯示4個(gè)或6個(gè)文本框.好多網(wǎng)站需求都有此功能,今天小編給大家分享基于vue.js實(shí)現(xiàn)移動(dòng)端短信驗(yàn)證碼功能,需要的朋友參考下吧

現(xiàn)在的短信驗(yàn)證碼一般為4位或6位,則頁面中會(huì)相應(yīng)的顯示4個(gè)或6個(gè)文本框,如圖所示

驗(yàn)證碼頁面示例圖

當(dāng)點(diǎn)擊注冊(cè)進(jìn)入到輸入驗(yàn)證碼頁面的時(shí)候,第一個(gè)框自動(dòng)獲取光標(biāo),依次輸入,不可直接輸入第三個(gè)或第四個(gè)框的值,

input輸入框是循環(huán)出來的,代碼如下:

<div class="sms_input">
  <div v-for="n in sms.numbers-1"><input v-if="sms.show[n-1]" disabled="true" v-model="sms.msg[n-1]"></div>
  <div><input v-if="sms.show[sms.numbers-1]" v-model="sms.msg[sms.numbers-1]" pattern="[0-9]*" type="number" ref="sms_input" @keyup="sms_input($event)" oninput="if(value.length>1)value=value.slice(0,1)"></div>
  <div v-for="n in sms.numbers-1"><input v-if="sms.show[n+sms.numbers-1]" disabled="true"></div>
 </div>

第一第三行不解釋,相信聰明的你可以看懂, 讓我們一起看第二行,keyup是當(dāng)鍵盤按下的時(shí)候執(zhí)行的函數(shù),ref則為傳值,

data () {
  return {
   ……
   sms: {
    numbers: 4,
    msg: [],
    show: [],
    position: 0
   },
  ……
  }
 }
_setSmsInputDisplay () {
   var arr = []
   for (var i = 0; i < this.sms.numbers * 2 - 1; i++) {
    arr.push(i >= this.sms.numbers - 1 - this.sms.position && i < this.sms.numbers - 1 - this.sms.position + this.sms.numbers ? 1 : 0)
   }
   this.sms.show = arr
  },
  _resetSms () {
   this.sms.msg = []
   for (var i = 0; i < this.sms.numbers; i++) {
    this.sms.msg.push(null)
   }
   this.sms.position = 0
   this._setSmsInputDisplay()
   this.$nextTick(function () {
    this.$refs.sms_input.focus()
   })
  }
  submit () {
   this.$api.post('signin', {
    mobile: this.mobile,
    captcha: this.captcha
   }, r => {
    this.$router.push('/main')
    console.log(r)
   })
  },
  sms_input (e) {
   if (e.keyCode === 8) { // 刪除
    if (this.sms.position > 0) {
     this.sms.position--
     this.sms.msg.splice(-2, 1)
     this.sms.msg.unshift(null)
     this._setSmsInputDisplay()
    }
   } else if (e.keyCode >= 48 && e.keyCode <= 57) { // 僅可以輸入數(shù)字
    if (this.sms.position < this.sms.numbers - 1) {
     this.sms.position++
     this.sms.msg.splice(-1, 1, String.fromCharCode(e.keyCode))
     this.sms.msg.shift()
     this.sms.msg.push(null)
     this._setSmsInputDisplay()
    } else {
     document.activeElement.blur() // hide keyboard for iOS
     console.log(this.sms.msg.join(''))
     this.submit()
    }
   } else {
    this.$refs.sms_input.value = '' // remove NaN
   }
  }

如此,便可實(shí)現(xiàn)驗(yàn)證碼輸入功能,代碼清晰,聰明的你若有疑問,隨時(shí)留言,我看到后定會(huì)秒回。

以上所述是小編給大家介紹的Vue.js實(shí)現(xiàn)移動(dòng)端短信驗(yàn)證碼功能,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!

相關(guān)文章

  • 基于Vue sessionStorage實(shí)現(xiàn)保留搜索框搜索內(nèi)容

    基于Vue sessionStorage實(shí)現(xiàn)保留搜索框搜索內(nèi)容

    這篇文章主要介紹了基于Vue sessionStorage實(shí)現(xiàn)保留搜索框搜索內(nèi)容,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-06-06
  • Vue 源碼分析之 Observer實(shí)現(xiàn)過程

    Vue 源碼分析之 Observer實(shí)現(xiàn)過程

    這篇文章主要介紹了 Vue 源碼分析之 Observer實(shí)現(xiàn)過程,Observer 最主要的作用就是實(shí)現(xiàn)了touch -Data(getter) - Collect as Dependency這段過程,也就是依賴收集的過程,感興趣的朋友跟隨腳本之家小編一起學(xué)習(xí)吧
    2018-03-03
  • 解決Vue響應(yīng)式數(shù)據(jù)已獲取而視圖不更新的問題

    解決Vue響應(yīng)式數(shù)據(jù)已獲取而視圖不更新的問題

    這篇文章主要介紹了解決Vue響應(yīng)式數(shù)據(jù)已獲取而視圖不更新的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-08-08
  • Vue3中依賴注入provide、inject的使用

    Vue3中依賴注入provide、inject的使用

    這篇文章主要介紹了Vue3中依賴注入provide、inject的使用方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-10-10
  • 基于Vue實(shí)現(xiàn)圖片在指定區(qū)域內(nèi)移動(dòng)的思路詳解

    基于Vue實(shí)現(xiàn)圖片在指定區(qū)域內(nèi)移動(dòng)的思路詳解

    這篇文章主要介紹了基于Vue實(shí)現(xiàn)圖片在指定區(qū)域內(nèi)移動(dòng),本文通過實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2018-11-11
  • 關(guān)于element ui中el-cascader的使用方式

    關(guān)于element ui中el-cascader的使用方式

    這篇文章主要介紹了關(guān)于element ui中el-cascader的使用方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-09-09
  • vue-cli2.0轉(zhuǎn)3.0之項(xiàng)目搭建的詳細(xì)步驟

    vue-cli2.0轉(zhuǎn)3.0之項(xiàng)目搭建的詳細(xì)步驟

    這篇文章主要介紹了vue-cli2.0轉(zhuǎn)3.0之項(xiàng)目搭建的詳細(xì)步驟,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-12-12
  • vue開發(fā)利器之unplugin-auto-import的使用

    vue開發(fā)利器之unplugin-auto-import的使用

    unplugin-auto-import 解決了vue3-hook、vue-router、useVue等多個(gè)插件的自動(dòng)導(dǎo)入,也支持自定義插件的自動(dòng)導(dǎo)入,下面這篇文章主要給大家介紹了關(guān)于vue開發(fā)利器之unplugin-auto-import使用的相關(guān)資料,需要的朋友可以參考下
    2023-02-02
  • vue.js項(xiàng)目中實(shí)用的小技巧匯總

    vue.js項(xiàng)目中實(shí)用的小技巧匯總

    這篇文章主要給大家介紹了關(guān)于vue.js項(xiàng)目中實(shí)用的小技巧,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-11-11
  • 詳解Vue3中對(duì)VDOM的改進(jìn)

    詳解Vue3中對(duì)VDOM的改進(jìn)

    這篇文章主要介紹了詳解Vue3中對(duì)VDOM的改進(jìn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-04-04

最新評(píng)論

丰城市| 疏附县| 西畴县| 临夏市| 太原市| 贵阳市| 灵丘县| 镇江市| 南岸区| 恭城| 广东省| 佛学| 宜春市| 三台县| 吴旗县| 吉木乃县| 双牌县| 大竹县| 洱源县| 讷河市| 玉山县| 开封市| 资溪县| 当涂县| 合肥市| 徐州市| 吉林省| 渭源县| 永昌县| 龙里县| 昂仁县| 巧家县| 郴州市| 北票市| 宁南县| 桂东县| 大港区| 乐山市| 龙口市| 沁水县| 耒阳市|