一种比较常见的功能获取手机验证码,供大家参考,具体内容如下
先看效果图:
其实这个功能实现起来很简单,主要就是调取第三方接口,拿到返回值验证的问题
直接上代码吧:
<view class='changeInfo'> <view class='changeInfoName'> <input placeholder='请输入姓名' bindinput='getNameValue' value='{{name}}'/> </view> <view class='changeInfoName'> <input placeholder='请输入手机号' bindinput='getPhoneValue' value='{{phone}}'/> </view> <view class='changeInfoName'> <input placeholder='请输验证码' 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({ /** * 页面的初始数据 */ data: { name:'',//姓名 phone:'',//手机号 code:'',//验证码 iscode:null,//用于存放验证码接口里获取到的code codename:'获取验证码' }, //获取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: '手机号不能为空', icon: 'none', duration: 1000 }) return false; } else if (!myreg.test(this.data.phone)) { wx.showToast({ title: '请输入正确的手机号', 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: '重新发送', disabled: false }) } else { _this.setData({ codename: num + "s" }) } }, 1000) } }) } }, //获取验证码 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: '手机号不能为空', icon: 'none', duration: 1000 }) return false; }else if(!myreg.test(this.data.phone)){ wx.showToast({ title: '请输入正确的手机号', icon: 'none', duration: 1000 }) return false; } if(this.data.code == ""){ wx.showToast({ title: '验证码不能为空', icon: 'none', duration: 1000 }) return false; }else if(this.data.code != this.data.iscode){ wx.showToast({ title: '验证码错误', icon: 'none', duration: 1000 }) return false; }else{ wx.setStorageSync('name', this.data.name); wx.setStorageSync('phone', this.data.phone); wx.redirectTo({ url: '../add/add', }) } }, /** * 生命周期函数--监听页面加载 */ onLoad: function (options) { }, /** * 生命周期函数--监听页面初次渲染完成 */ onReady: function () { }, /** * 生命周期函数--监听页面显示 */ onShow: function () { }, /** * 生命周期函数--监听页面隐藏 */ onHide: function () { }, /** * 生命周期函数--监听页面卸载 */ onUnload: function () { }, /** * 页面相关事件处理函数--监听用户下拉动作 */ onPullDownRefresh: function () { }, /** * 页面上拉触底事件的处理函数 */ onReachBottom: function () { }, /** * 用户点击右上角分享 */ onShareAppMessage: function () { } })
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
华山资源网 Design By www.eoogi.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
华山资源网 Design By www.eoogi.com
暂无评论...
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。
更新日志
2024年11月16日
2024年11月16日
- 第五街的士高《印度激情版》3CD [WAV+CUE][2.4G]
- 三国志8重制版哪个武将智力高 三国志8重制版智力武将排行一览
- 三国志8重制版哪个武将好 三国志8重制版武将排行一览
- 三国志8重制版武将图像怎么保存 三国志8重制版武将图像设置方法
- 何方.1990-我不是那种人【林杰唱片】【WAV+CUE】
- 张惠妹.1999-妹力新世纪2CD【丰华】【WAV+CUE】
- 邓丽欣.2006-FANTASY【金牌大风】【WAV+CUE】
- 饭制《黑神话》蜘蛛四妹手办
- 《燕云十六声》回应跑路:年内公测版本完成95%
- 网友发现国内版《双城之战》第二季有删减:亲亲环节没了!
- 邓丽君2024-《漫步人生路》头版限量编号MQA-UHQCD[WAV+CUE]
- SergeProkofievplaysProkofiev[Dutton][FLAC+CUE]
- 永恒英文金曲精选4《TheBestOfEverlastingFavouritesVol.4》[WAV+CUE]
- 群星《国风超有戏 第9期》[320K/MP3][13.63MB]
- 群星《国风超有戏 第9期》[FLAC/分轨][72.56MB]