现在的短信验证码一般为4位或6位,则页面中会相应的显示4个或6个文本框,如图所示
当点击注册进入到输入验证码页面的时候,第一个框自动获取光标,依次输入,不可直接输入第三个或第四个框的值,
input输入框是循环出来的,代码如下:
<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是当键盘按下的时候执行的函数,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) { // 仅可以输入数字
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
}
}
如此,便可实现验证码输入功能,代码清晰,聪明的你若有疑问,随时留言,我看到后定会秒回。
以上所述是小编给大家介绍的Vue.js实现移动端短信验证码功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
# vue.js
# 短信验证码
# 基于vue的短信验证码倒计时demo
# vue实现短信验证码输入框
# vue实现短信验证码登录功能(流程详解)
# vue 实现通过手机发送短信验证码注册功能
# Vue 短信验证码组件开发详解
# 使用Vue纯前端实现发送短信验证码并实现倒计时
# 验证码
# 小编
# 你可以
# 第一个
# 在此
# 给大家
# 便可
# 按下
# 第三个
# 则为
# 你若
# 所述
# 让我们一起
# 给我留言
# 中会
# 感谢大家
# 看懂
# 文本框
# 输入框
# 如图所示
相关文章:
内部网站制作流程,如何建立公司内部网站?
东莞专业网站制作公司有哪些,东莞招聘网站哪个好?
建站之星代理如何优化在线客服效率?
mc皮肤壁纸制作器,苹果平板怎么设置自己想要的壁纸我的世界?
英语简历制作免费网站推荐,如何将简历翻译成英文?
定制建站模板如何实现SEO优化与智能系统配置?18字教程
建站之星后台密码遗忘?如何快速找回?
建站之星安装失败:服务器环境不兼容?
制作网站外包平台,自动化接单网站有哪些?
如何快速生成可下载的建站源码工具?
合肥做个网站多少钱,合肥本地有没有比较靠谱的交友平台?
如何快速搭建高效服务器建站系统?
建站之星在线客服如何快速接入解答?
网站设计制作公司地址,网站建设比较好的公司都有哪些?
微信h5制作网站有哪些,免费微信H5页面制作工具?
,怎么在广州志愿者网站注册?
javascript基本数据类型及类型检测常用方法小结
如何通过智能用户系统一键生成高效建站方案?
学校建站服务器如何选型才能满足性能需求?
小视频制作网站有哪些,有什么看国内小视频的网站,求推荐?
关于BootStrap modal 在IOS9中不能弹出的解决方法(IOS 9 bootstrap modal ios 9 noticework)
Java解压缩zip - 解压缩多个文件或文件夹实例
XML的“混合内容”是什么 怎么用DTD或XSD定义
制作ppt免费网站有哪些,有哪些比较好的ppt模板下载网站?
邀请函制作网站有哪些,有没有做年会邀请函的网站啊?在线制作,模板很多的那种?
黑客如何利用漏洞与弱口令入侵网站服务器?
网站微信制作软件,如何制作微信链接?
如何挑选优质建站一级代理提升网站排名?
电脑免费海报制作网站推荐,招聘海报哪个网站多?
我的世界制作壁纸网站下载,手机怎么换我的世界壁纸?
专业商城网站制作公司有哪些,pi商城官网是哪个?
如何选择PHP开源工具快速搭建网站?
制作无缝贴图网站有哪些,3dmax无缝贴图怎么调?
如何挑选高效建站主机与优质域名?
如何将凡科建站内容保存为本地文件?
C++ static_cast和dynamic_cast区别_C++静态转换与动态类型安全转换
建站之星后台搭建步骤解析:模板选择与产品管理实操指南
如何在Ubuntu系统下快速搭建WordPress个人网站?
深圳网站制作设计招聘,关于服装设计的流行趋势,哪里的资料比较全面?
如何在Windows服务器上快速搭建网站?
如何选择CMS系统实现快速建站与SEO优化?
高端建站三要素:定制模板、企业官网与响应式设计优化
C++时间戳转换成日期时间的步骤和示例代码
建站主机选哪种环境更利于SEO优化?
小米网站链接制作教程,请问miui新增网页链接调用服务有什么用啊?
已有域名能否直接搭建网站?
如何在万网开始建站?分步指南解析
外汇网站制作流程,如何在工商银行网站上做外汇买卖?
成都网站制作报价公司,成都工业用气开户费用?
如何快速打造个性化非模板自助建站?
*请认真填写需求信息,我们会在24小时内与您取得联系。