HTML:

<!-- 表单 -->
<input class="weui-input" id="tel" type="tel" placeholder="请输入手机号">
<input class="weui-input" type="number" id="number" placeholder="请输入验证码"><!-- 错误提示 -->
<div class="mobile-err" id="mobile-err"  style="display: none;"><span></span>
</div>

JS :

$(function () {//手机号验证$("#tel").blur(function () {var mobile=$(this).val();var re=/^(((13[0-9]{1})|(15[0-9]{1})|(17[0-9]{1})|(18[0-9]{1}))+\d{8})$/;if (!re.test(mobile)){$("#mobile-err span").html("请输入正确的手机号");$("#mobile-err").show();}setTimeout(function () {$("#mobile-err").fadeOut();},1500)});//验证码验证 5位数字$("#number").blur(function () {var mobile=$(this).val();var re=/^\d{5}$/if (!re.test(mobile)){$("#mobile-err span").html("验证码错误");$("#mobile-err").show();}setTimeout(function () {$("#mobile-err").fadeOut();},1500)});})

小程序

<view class="section"><input   placeholder="手机号" placeholder-style='color:#999;' type="number" auto-focus bindblur='telNum' />
</view>
<view class="section get-code cl"><input  placeholder="验证码" placeholder-style='color:#999;'  type="number" maxlength="5"  bindblur='codeNum'/><button bindtap='getCode' class='get-code-btn'  disabled="{{disabled}}">{{codeTxt}}</button>
</view>
<view class='btm-btn-ot'><form bindsubmit="submitBtn" report-submit="true"><button class="form_button" form-type="submit"><button class='sub-btn'>登录</button></button></form>
</view>

  data: {mobile:0,     //输入是否正确code:0,mobileNum:'', //输入的手机号codeNum:'',codeTxt:'',    //获取验证码 文字disabled:'',currentTime:60},onLoad: function (options) {var that = this;that.setData({codeTxt: '获取验证码'})},// /**//  * 手机号//  */
  telNum: function (e) {var that = this;var mobile = e.detail.value;var myreg = /^(((13[0-9]{1})|(15[0-9]{1})|(18[0-9]{1})|(17[0-9]{1}))+\d{8})$/;if (mobile.length == 0) {wx.showToast({title: '手机号为空',icon: 'loading',success:function(){that.setData({mobile: 0,})}})return false;} else if (!myreg.test(mobile)) {wx.showToast({title: '手机号有误',icon: 'loading',success: function () {that.setData({mobile: 0,})}})return false;} else {that.setData({mobile: 1,mobileNum: mobile,})}},// /**//  *  验证码//  */
  codeNum: function (e) {var that = this;var code = e.detail.value;var myreg = /^\d{5}$/;if (code.length == 0) {wx.showToast({title: '验证码为空',icon: 'loading',success: function () {that.setData({code: 0,})}})return false;} else if (!myreg.test(code)) {wx.showToast({title: '验证码有误',icon: 'loading',success: function () {that.setData({code: 0,})}})return false;} else {that.setData({code: 1,codeNum: code})}},//验证码
  getCode:function(){let that = this;if (that.data.mobile==1){wx.request({url: _url + '/api/sendsms',method: 'POST',header: {'content-type': 'application/x-www-form-urlencoded'},data: {phone: that.data.mobileNum,},success: function (e) {console.log(e.data)if (e.data.status == 1000) {//发成功后不可点击
            that.setData({disabled: true})//60秒倒计时var currentTime = that.data.currentTime;that.setData({codeTxt: '重新获取(' + currentTime + 's)'})var interval = setInterval(function () {that.setData({codeTxt: '重新获取(' + (currentTime - 1) + 's)'})currentTime--;if (currentTime <= 0) {clearInterval(interval)that.setData({codeTxt: '重新获取',currentTime: 60,disabled: ''})}}, 1000)wx.showToast({title: '正确',icon: 'success',success: function () {wx.showToast({title: '请注意查收',icon: 'success',})}})} else if (e.data.status == 90061) {wx.showToast({title: '验证码错误',icon: 'loading',})} }})}},//提交
  submitBtn:function(e){let that = this;var m = that.data.mobile;var c = that.data.code;//判断 手机号和验证码格式无误后返回后台if (m == 1 || c == 1) {}else{wx.showToast({title: '错误',icon: 'loading',})}}

page{padding: 0 56rpx;background: #fff;box-sizing: border-box;
}
.section{height: 114rpx;border-bottom: 1rpx solid #ebebeb ;margin-bottom: 20rpx;
}
.section input{width: 100%;height: 100%;line-height: 114rpx;
}
.get-code input{width: 350rpx;float: left;font-size: 32rpx;
}
.get-code button{/* display: inline-block; */float: right;color: #553a91;font-size: 30rpx;border: 1rpx solid #c8c0dc;background: transparent;border-radius: 32rpx;padding: 20rpx 26rpx;margin:22rpx 0 0;line-height: 1;
}
.btm-btn-ot{margin-top: 100rpx;width: 100%;box-sizing: border-box;background: #fff;
}
.sub-btn{width:100%;text-align:center;background: rgba(85, 58, 145, .5);padding:30rpx 0;color:#fff;font-size:32rpx;border-radius:48rpx;font-weight:300;display:inline-block;border:0;line-height:1;margin-bottom: 40rpx;
}
.sub-btn::after{border:0;
}
.sub-btn.active {background:#553a91;
}

转载于:https://www.cnblogs.com/cqlb/p/9682603.html

2018最新版 手机号、验证码正则表达式 jq + 小程序相关推荐

  1. 新版悟能口罩预约小程序源码V1.1.1

    悟能口罩预约小程序源码V1.0.9,开源版,前端+后台,普通版. 发出来给大家学习,改一改还可以应用到其他预约场景. 更新记录 修复一个数据结构问题.只需更新后台. 版本号:1.0.8 – 普通版 修 ...

  2. 2021抖音爆火最新版人生重开模拟器微信小程序源码+前端+搭建教程

    人生重开模拟器微信小程序源码 简介: 无需服务器.域名等工具 编辑好上传代码即可使用 下载地址:2021抖音爆火最新版人生重开模拟器微信小程序源码+前端+搭建教程启悦源码

  3. 2022 新版UI界面 影视微信小程序源码 附教程

    2022 新版UI界面 影视微信小程序源码 附教程 源码简介 源码演示 源码下载 源码简介 2022 新版UI界面 影视微信小程序源码 附教程 环境PHP7.0 - fileinfo–Redis–SG ...

  4. 各种登录源码来了!基础登录、验证码登录、小程序登录...全都要!

    现在开发个应用登录比以前麻烦的多.产品经理说用户名密码登录.短信登录都得弄上,如果搞个小程序连小程序登录也得安排上,差不多就是我全都要. 多种登录途径达到一个效果确实不太容易,今天胖哥在Spring ...

  5. 微信小程序短信验证码 php,微信小程序中短信验证码登录全流程及代码

    才开始学习小程序,用到短信验证码登录,使用榛子云短信(smsow.zhenzikj.com) 效果: 我是java开发者,后端使用了springMvc 短信验证码实现流程 1.构造手机验证码,生成一个 ...

  6. 【Python发送短信验证码并与小程序对接】

    Python发送手机验证码流程 1.小程序端校验手机号格式 使用正则校验: 下面代码实现的是校验的是手机号必须是1开头的,然后第二位必须是3~9中间的某一个,然后剩下的九位必须是数字 这样其实就基本排 ...

  7. 2019年最新版 省市区json数据 跟小程序省市区的数据同步

    2019年最新版 跟小程序省市区的数据同步 {name: '北京市',city: [{name: '北京市',area: ['东城区', '西城区', '朝阳区', '丰台区', '石景山区', '海 ...

  8. php验证码zhuc_微信小程序实例:实现随机验证码(附代码)

    本篇文章给大家带来的内容是关于微信小程序实例:实现随机验证码(附代码) ,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 小程序上经常会有一些注册 申请页面需要用到随机验证码.具体实现 ...

  9. 微信公众号如何获取手机号,H5调用小程序,小程序调用H5

    都知道微信公众号获取不到手机号,但是小程序可以. 今天大早晨老大死磕非要我公众号授权获取到手机号.没办法我还是有其他方法解决. 第一步:服务号添加一个小程序,网上有很多小程序授权的代码.确定小程序可以 ...

最新文章

  1. PMVS:多视图匹配经典算法
  2. mysql查询嵌套where_MySQL-10(where /from 嵌套查询)
  3. 从特殊到一般-C#中的类
  4. [js]jquery里的jsonp实现ajax异源请求
  5. 高等数学下-赵立军-北京大学出版社-题解-练习10.3
  6. [vue] prop验证的type类型有哪几种?
  7. MATLAB读取text文件数据,拟合曲线
  8. Linux中sudo命令设置,Linux下sudo命令的配置与使用方法
  9. 【离散数学】滨江学院 期末考试 题库
  10. OSChina 周二乱弹 —— 加班的代码不要枉费了我的童子功
  11. 万年历24节气C语言,电子万年历24节气c程序
  12. java毕业设计新生宿舍管理系统Mybatis+系统+数据库+调试部署
  13. 网狐大联盟服务器环境搭建完整教程
  14. 灵剑问道服务器维护到几点,问道手游2020年12月31日维护公告_问道手游12月31日更新了什么_玩游戏网...
  15. 怎么进入服务器修改跳转域名,域名怎么跳转到别的网站
  16. Proof of Stake - 股权证明 系列1
  17. c++ 头歌实训 第四关 日历打印
  18. 如何通过知识付费盈利,实现内容变现?
  19. 爬虫大作业-爬取B站弹幕
  20. xml充当数据库实现电影院购票管理系统

热门文章

  1. 去除表单元素的默认样式
  2. 漫扯:从polling到Websocket(ZZ)
  3. Science nature合集 2021年度上半年
  4. matlab用regress方法求ln函数_高考数学48条秒杀型公式与方法,想要120分一定要掌握...
  5. Ultraedit 26.1安装教程
  6. Hspice2008安装步骤
  7. 李宏毅机器学习作业1:预测PM2.5(含训练数据)
  8. GetLBText()和GetWindowText()区别
  9. python xlwt写入数据超过范围限制_python的xlwt不能正确写入以及缓冲区问题
  10. Python实现kNN算法