微信小程序如何獲取手機(jī)驗(yàn)證碼
更新時(shí)間:2018年11月04日 12:01:03 作者:進(jìn)階的碼農(nóng)
這篇文章主要為大家詳細(xì)介紹了微信小程序如何獲取手機(jī)驗(yàn)證碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
一種比較常見的功能獲取手機(jī)驗(yàn)證碼,供大家參考,具體內(nèi)容如下
先看效果圖:
其實(shí)這個(gè)功能實(shí)現(xiàn)起來很簡單,主要就是調(diào)取第三方接口,拿到返回值驗(yàn)證的問題
直接上代碼吧:
<view class='changeInfo'> <view class='changeInfoName'> <input placeholder='請輸入姓名' bindinput='getNameValue' value='{{name}}'/> </view> <view class='changeInfoName'> <input placeholder='請輸入手機(jī)號' bindinput='getPhoneValue' value='{{phone}}'/> </view> <view class='changeInfoName'> <input placeholder='請輸驗(yàn)證碼' bindinput='getCodeValue' value='{[code]}' style='width:70%;'/> <button class='codeBtn' bindtap='getVerificationCode' disabled='{{disabled}}' >{{codename}}</button> </view> <button class='changeBtn' bindtap='save'>保存</button> </view>
CSS:
page{ height: 100%; width: 100%; background: linear-gradient(#5681d7, #486ec3); } .changeInfo{ display: flex; flex-direction: column; justify-content: space-between; width: 90%; margin: 50rpx auto; } .changeInfoName{ position: relative; height: 80rpx; width: 100%; border-radius: 10rpx; background: #fff; margin-bottom: 20rpx; padding-left: 20rpx; box-sizing: border-box; } .codeBtn{ position: absolute; right: 0; top: 0; color: #bbb; width: 30%; font-size: 26rpx; height: 80rpx; line-height: 80rpx; } .changeInfoName input{ width: 100%; height:100%; } .changeBtn{ width: 40%; height: 100rpx; background: #fff; color: #000; border-radius: 50rpx; position: absolute; bottom: 10%; left: 50%; margin-left: -20%; line-height: 100rpx; }
js:
var app = require('../../resource/js/util.js'); Page({ /** * 頁面的初始數(shù)據(jù) */ data: { name:'',//姓名 phone:'',//手機(jī)號 code:'',//驗(yàn)證碼 iscode:null,//用于存放驗(yàn)證碼接口里獲取到的code codename:'獲取驗(yàn)證碼' }, //獲取input輸入框的值 getNameValue:function(e){ this.setData({ name:e.detail.value }) }, getPhoneValue:function(e){ this.setData({ phone:e.detail.value }) }, getCodeValue: function (e) { this.setData({ code: e.detail.value }) }, getCode:function(){ var a = this.data.phone; var _this = this; var myreg = /^(14[0-9]|13[0-9]|15[0-9]|17[0-9]|18[0-9])\d{8}$$/; if (this.data.phone == "") { wx.showToast({ title: '手機(jī)號不能為空', icon: 'none', duration: 1000 }) return false; } else if (!myreg.test(this.data.phone)) { wx.showToast({ title: '請輸入正確的手機(jī)號', icon: 'none', duration: 1000 }) return false; }else{ wx.request({ data: {}, 'url': 接口地址, success(res) { console.log(res.data.data) _this.setData({ iscode: res.data.data }) var num = 61; var timer = setInterval(function () { num--; if (num <= 0) { clearInterval(timer); _this.setData({ codename: '重新發(fā)送', disabled: false }) } else { _this.setData({ codename: num + "s" }) } }, 1000) } }) } }, //獲取驗(yàn)證碼 getVerificationCode() { this.getCode(); var _this = this _this.setData({ disabled: true }) }, //提交表單信息 save:function(){ var myreg = /^(14[0-9]|13[0-9]|15[0-9]|17[0-9]|18[0-9])\d{8}$$/; if(this.data.name == ""){ wx.showToast({ title: '姓名不能為空', icon: 'none', duration: 1000 }) return false; } if(this.data.phone == ""){ wx.showToast({ title: '手機(jī)號不能為空', icon: 'none', duration: 1000 }) return false; }else if(!myreg.test(this.data.phone)){ wx.showToast({ title: '請輸入正確的手機(jī)號', icon: 'none', duration: 1000 }) return false; } if(this.data.code == ""){ wx.showToast({ title: '驗(yàn)證碼不能為空', icon: 'none', duration: 1000 }) return false; }else if(this.data.code != this.data.iscode){ wx.showToast({ title: '驗(yàn)證碼錯誤', icon: 'none', duration: 1000 }) return false; }else{ wx.setStorageSync('name', this.data.name); wx.setStorageSync('phone', this.data.phone); wx.redirectTo({ url: '../add/add', }) } }, /** * 生命周期函數(shù)--監(jiān)聽頁面加載 */ onLoad: function (options) { }, /** * 生命周期函數(shù)--監(jiān)聽頁面初次渲染完成 */ onReady: function () { }, /** * 生命周期函數(shù)--監(jiān)聽頁面顯示 */ onShow: function () { }, /** * 生命周期函數(shù)--監(jiān)聽頁面隱藏 */ onHide: function () { }, /** * 生命周期函數(shù)--監(jiān)聽頁面卸載 */ onUnload: function () { }, /** * 頁面相關(guān)事件處理函數(shù)--監(jiān)聽用戶下拉動作 */ onPullDownRefresh: function () { }, /** * 頁面上拉觸底事件的處理函數(shù) */ onReachBottom: function () { }, /** * 用戶點(diǎn)擊右上角分享 */ onShareAppMessage: function () { } })
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
您可能感興趣的文章:
- 微信小程序?qū)崿F(xiàn)手機(jī)驗(yàn)證碼登錄
- 微信小程序?qū)崿F(xiàn)手機(jī)獲取驗(yàn)證碼倒計(jì)時(shí)60s
- 微信小程序獲取手機(jī)驗(yàn)證碼的方法
- 微信小程序手機(jī)號驗(yàn)證碼登錄的項(xiàng)目實(shí)現(xiàn)
- 微信小程序綁定手機(jī)號獲取驗(yàn)證碼功能
- 微信小程序?qū)崿F(xiàn)基于三元運(yùn)算驗(yàn)證手機(jī)號/姓名功能示例
- 微信小程序手機(jī)號碼驗(yàn)證功能的實(shí)例代碼
- 微信小程序 功能函數(shù)小結(jié)(手機(jī)號驗(yàn)證*、密碼驗(yàn)證*、獲取驗(yàn)證碼*)
- 微信小程序?qū)崿F(xiàn)手機(jī)號碼驗(yàn)證
相關(guān)文章
JS實(shí)現(xiàn)彈出下載對話框及常見文件類型的下載
JS要實(shí)現(xiàn)下載功能,一般都是這么幾個(gè)過程:生成下載的URL,動態(tài)創(chuàng)建一個(gè)A標(biāo)簽,并將其href指向生成的URL,然后觸發(fā)A標(biāo)簽的單擊事件,這樣就會彈出下載對話框,從而實(shí)現(xiàn)了一個(gè)下載的功能2017-07-07H5如何實(shí)現(xiàn)喚起APP及調(diào)試bug解決
這篇文章主要為大家介紹了H5如何實(shí)現(xiàn)喚起APP及調(diào)試bug解決,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-05-05JavaScript數(shù)據(jù)類型轉(zhuǎn)換簡單方法舉例
JavaScript是一種無類型語言,但同時(shí)JavaScript提供了一種靈活的自動類型轉(zhuǎn)換的處理方式,下面這篇文章主要給大家介紹了關(guān)于JavaScript數(shù)據(jù)類型轉(zhuǎn)換的相關(guān)資料,需要的朋友可以參考下2023-12-12JS實(shí)現(xiàn)Fisheye效果動感放大菜單代碼
這篇文章主要介紹了JS實(shí)現(xiàn)Fisheye效果動感放大菜單代碼,涉及JavaScript事假監(jiān)聽機(jī)制及定時(shí)函數(shù)等相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-10-10JS面向?qū)ο缶幊虒?shí)現(xiàn)的拖拽功能案例詳解
這篇文章主要介紹了JS面向?qū)ο缶幊虒?shí)現(xiàn)的拖拽功能,結(jié)合具體案例形式詳細(xì)對比分析了JS面向過程與面向?qū)ο髮?shí)現(xiàn)的拖拽功能相關(guān)操作技巧,需要的朋友可以參考下2020-03-03