直接贴代码:

HTML

<div class="phone">
<div class="number">
<p class="tip">手机号码<span style="color: #ff0000;">*</span></p>
<input type="number" class="info" :placeholder="question.prompt_content" v-model="phoneObj"/>
</div>
<div class="number">
<p class="tip">&nbsp;</p>
<input type="number" class="checkPhone" placeholder="请输入验证码" v-model="checkNumberObj"/>
<button :disabled="fetchCodeMsg || false" class="getCheckNumber" :class="{unselected: fetchCodeMsg}" @click="getCheckNumber(question.question_id)">{{timerCodeMsg||'获取验证码'}}</button>
</div>
</div>

CSS

.number{
height: torem(100px);
line-height: torem(100px);
padding-left: torem(20px);
position: relative;
float: left;
width: %;
border-bottom: 1px solid #dddddd;
.unselected{
background-color: #cccccc !important;
}

      .tip{
        font-size: torem(28px);
        color: #000000;
        width: torem(260px);
        position: relative;
        float: left;
        overflow: hidden;
        white-space: nowrap;
        text-overflow: ellipsis;
      }

      .info{
        font-size: torem(28px);
        color: #000000;
        width: torem(450px);
      }

      .checkPhone{
        width: torem(220px);
        font-size: torem(28px);
        color: #000000;
        padding-right: torem(30px);
      }

        .getCheckNumber{
width: torem(180px);
height: torem(54px);
color: #ffffff;
background-color: #2E97DD;
font-size: torem(28px);
position: relative;
float: right;
border-radius: torem(6px);
text-align: center;
line-height: torem(54px);
margin-top: torem(24px);
margin-right: torem(30px);
}
}

JS

data(){

  return {

    phoneObj: '',             // phoneOb

    timerCodeMsg: '',         // timerCodeMsg

    fetchCodeMsg: '',         // fetchCodeMsg

  }

}

    getCheckNumber () {
let newPhone = this.phoneObj
if (!(/^[]\d{}$/.test(newPhone))) {
Toast('手机号码有误,请重填')
return false
} else {
this.$root._axios('post', 'CheckCodeApi/sendSmSodeReserve', {phone: newPhone})
.then(res => {
if (res.data.errcode === ) {
let sec =
for (let i = ; i <= ; i++) {
window.setTimeout(() => {
if (sec != ) {
this.timerCodeMsg = sec + '秒后重发'
this.fetchCodeMsg = true
sec--
} else {
sec = // 如果倒计时结束就让 获取验证码显示出来
this.timerCodeMsg = '重新发送'
this.fetchCodeMsg = false
}
}, i * )
}
}
})
}
}

vue 短信验证的更多相关文章

  1. vue短信验证性能优化写入localstorage中

    平时我们在项目中进行注册等的时候,会经常用到短信验证的功能,但是现在现在很多短信验证都是存在下面几个问题,例如短信验证时间为60s的时候, 1. 当点击完按钮时,倒计时还没到60s过完时,刷新浏览器, ...

  2. Luffy之注册认证(容联云通讯短信验证)

    用户的注册认证 前端显示注册页面并调整首页头部和登陆页面的注册按钮的链接. 注册页面Register,主要是通过登录页面进行改成而成. 先构造前端页面 <template> <div ...

  3. 注册登录页面修订-Python使用redis-手机验证接口-发送短信验证

    登录页面修订 views.Login.vue <template> <div class="login box"> <img src="@/ ...

  4. Mob.com 短信验证的简单使用

    1.环境配置 http://wiki.sharesdk.cn/android-短信sdk集成文档/ a.sdk下载 http://www.mob.com/#/downloadDetail/SMS/an ...

  5. python基于LeanCloud的短信验证

    python基于LeanCloud的短信验证 1. 获取LeanCloud的Id.Key 2. 安装Flask框架和Requests库 pip install flask pip install re ...

  6. thinkphp实现短信验证注册

    前言 注册时经常需要用到短信验证码,本文记录一下思路和具体实现. 短信验证平台使用云片,短信验证码的生成使用thinkphp. 思路 1.用户输入手机号,请求获取短信验证码. 2.thinkphp生成 ...

  7. Mob短信验证的具体使用

    原文著作权地址:http://www.jb51.net/article/84946.htm demo地址:http://git.oschina.net/lizhanqi/MobSMSDemo 一.前言 ...

  8. Mob短信验证的配置的解释

    原文地址:http://www.jb51.net/article/84946.htm 关于mob短信验证的解释: mob官方是这样写的: repositories{ flatDir{ dirs 'li ...

  9. 完整的Android手机短信验证源码

    短信验证功能我分两个模块来说,短信验证码的后台和代码实现短信验证码的功能. 一.短信验证码的后台      1.注册Mob账号:http://www.mob.com/#/login 2.注册成功之后, ...

随机推荐

  1. DbContext 和 ObjectContext两者的区别

    ObjectContext是一种模型优先的开发模式,DbContext是代码优先的开发模式.这是两者最根本的区别. 同时两者之间可以相互转换: 下面给出转换的例子 1.DbContext转为Objec ...

  2. Teradata的DBQL使用

    1.赋权 grant exec on DBC.DBQLAccessMacro to Sysdba with grant option; 2.刷新DBQL或TDWM缓存到磁盘,立即能在数据库中查询到刚刚 ...

  3. python nt, bool, str 试题

    # 1.有变量量name = "aleX leNb" 完成如下操作:name = "aleX leNb"# 1)移除 name 变量对应的值两边的空格,并输出处 ...

  4. js中arguments详解

    在js中一切都是对象,连函数也是对象,函数名其实是引用函数定义对象的变量. 什么是arguments? 这个函数体内的arguments非常特殊,实际上是所在函数的一个内置类数组对象,可以用数组的[i ...

  5. UVA12265-Selling Land(单调栈)

    Problem UVA12265-Selling Land Accept: 137  Submit: 782Time Limit: 3000 mSec Problem Description Inpu ...

  6. 了解一下Redis队列【缓兵之计-延时队列】

    https://www.cnblogs.com/wt645631686/p/8454021.html 我们平时习惯于使用 Rabbitmq 和 Kafka 作为消息队列中间件,来给应用程序之间增加 异 ...

  7. ogg BR – BOUNDED RECOVERY 测试案例

    首先,我们来看两个OGG同步中可能的问题: l oracle在线日志包含已提交的和未提交的事务,但OGG只会将已提交的事务写入到队列文件.因此,针对未提交的事务,特别是未提交的长事务,OGG会怎样处理 ...

  8. Spring Security(二十):6.2.3 Form and Basic Login Options

    You might be wondering where the login form came from when you were prompted to log in, since we mad ...

  9. zookeeper的原理,5分钟了解zookeeper

    一 .Zookeeper功能简介 ZooKeeper 是一个开源的分布式协调服务,由雅虎创建,是 Google Chubby 的开源实现.分布式应用程序可以基于 ZooKeeper 实现诸如数据发布/ ...

  10. springboot打成的jar包如何在Linux上持久运行

    一.首先说说在没有springboot的时候,项目是如何部署的? 1.动态web项目 动态web项目部署很方便,基本上上传文件到服务器的tomcat里面的webapps文件夹下即可完成部署.当然了,这 ...