最近做了一个项目,其中有项目需求涉及到手机号验证码,就是当用户点击获取验证码之后我们会发送一条信息到用户手机,然后就会出现一个倒计时按钮,很像支付宝手机付款效果了,下面我给大家分享两个实现代码。
如何获取手机验证码?
小月不知道大家是利用什么平台去获取验证码的,但是告诉大家我是在哪个平台获取的。
LeanCloud :https://leancloud.cn/
文档:https://leancloud.cn/docs/sms_guide-js.html
在这个平台首先去要注册一个账号,在设置里面设置自己的信息按照文档去操作就可以了这里不多说了,大部分是后台去操作些接口的,我们前端有能力的可以自己去尝试用php去写接口。(懒惰的我是不会写。)
一般是两个接口:
1.发送验证请求(这样你的手机会受到短信验证哦)
2.返回数据验证手机号和验证是否一致
根据后台攻城狮的接口去实现吧。
前端页面的工作
下面这段代码就是上图所示的页面
<div class="pop"> <div class="con"> <span class="close"><img src="img/close.png"></span> <div class="page1"> <p class="info"> <span class="title">手机号:</span> <input type="tel" class="tel" id="mobile" onkeyup="value=value.replace(/[^\w\.\/]/ig,'')" required="" placeholder="请输入您的手机号"> </p> <p class="info"> <span class="title">验证码:</span> <input type="tel" class="code" placeholder="输入验证码"> <span class="code1">获取验证码</span> </p> <div class="demand demand2" style="width: 70%; margin-top: 20px;">提交</div> </div> <div class="page2"> <p class="p1">提交成功</p> <p class="p2">我们将在索要成功后</p> <p class="p2">第一时间通知您!</p> <div class="demand demand3" style="width: 80%; margin-top: 20px; margin-bottom: 10px;">朕知道了</div> </div> </div> </div>
校验手机号是否正确
//校验手机号 //页面的input写的正则下面直接调用方法就可以的 jQuery.extend({ checkmobileNo: function(str) { var re =/^1[3|7|5|8]\d{9}$/; if (re.test(str)) { return true; } else { return false; } } });
JS/JQ部分处理发送短信验证请求
//发送验证码给手机 $.ajax({ type: 'GET', url:"你们后台提供的接口" + mobile, //即上面的接口1 success: function(data, status) { if (data.errcode==0) { alert("已发送"); $(".code1").attr("disabled", "disabled"); $(".code1").css("background-color", "#b4b2b3"); //下面就是实现倒计时的效果代码 var d = new Date(); d.setSeconds(d.getSeconds() + 59); var m = d.getMonth() + 1; var time = d.getFullYear() + '-' + m + '-' + d.getDate() + ' ' + d.getHours() + ':' + d.getMinutes() + ':' + d.getSeconds(); var id = ".code1"; var end_time = new Date(Date.parse(time.replace(/-/g, "/"))).getTime(), //月份是实际月份-1 sys_second = (end_time - new Date().getTime()) / 1000; var timer = setInterval(function() { if (sys_second > 1) { sys_second -= 1; var day = Math.floor((sys_second / 3600) / 24); var hour = Math.floor((sys_second / 3600) % 24); var minute = Math.floor((sys_second / 60) % 60); var second = Math.floor(sys_second % 60); var time_text = ''; if (day > 0) { time_text += day + '天'; } if (hour > 0) { if (hour < 10) { hour = '0' + hour; } time_text += hour + '小时'; } if (minute > 0) { if (minute < 10) { minute = '0' + minute; } time_text += minute + '分'; } if (second > 0) { if (second < 10) { second = '0' + second; } time_text += second + '秒'; } $(id).text(time_text); } else { clearInterval(timer); $(".code1").attr("disabled", false); $(".code1").text('获取验证码'); $(".code1").css("background-color", "#f67a62"); } }, 1000); }else{ alert("发送失败,请再试一次。"); } }, error: function(data, status) { alert(status); } }); });
向服务器提交信息
//验证验证码和手机发送的验证码是否一致 $.ajax({ type: 'GET', url: "接口2", success: function(data, status) { if (data.errcode==0) { //向服务器提交信息 $.ajax({ type: 'POST', url: "向服务器提交你们索要填写的信息接口", data: JSON.stringify({ //data这里看你们的需求根据接口的数据去写 "project_id": pid, "phone": mobile, "device":d }), success: function(data, status) { if (data.errcode==0) { $('.page1').hide(); $('.page2').show(); }else{ alert("提交失败,请在尝试一次!"); } }, error: function(data, status) { alert(data.errMsg); } }); }else{ alert("验证码不正确!"); } }, error: function(data, status) { alert(status); } }); });
以上所述是小编给大家介绍的JS/jQ实现免费获取手机验证码倒计时效果的全部叙述,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对小牛知识库网站的支持!
本文向大家介绍JS+HTML5实现获取手机验证码倒计时按钮,包括了JS+HTML5实现获取手机验证码倒计时按钮的使用技巧和注意事项,需要的朋友参考一下 效果图如下所示: HTML: CSS: JavaScript: GitHub:Fuck me on GitHub Fuck me on GitHub 总结 以上所述是小编给大家介绍的JS+HTML5实现获取手机验证码倒计时按钮,希望对大家有所帮助,
本文向大家介绍js实现点击获取验证码倒计时效果,包括了js实现点击获取验证码倒计时效果的使用技巧和注意事项,需要的朋友参考一下 网站中为了防止恶意获取验证短信、验证邮箱,都会在点击获取验证码的按钮上做个倒计时的效果。实现这个功能,一个setInterval和一个clearInterval就能搞定了,不需要太多的代码。实例效果和代码如下: 更多关于倒计时的文章请查看专题:《倒计时功能》 利用setI
本文向大家介绍JS获取短信验证码倒计时的实现代码,包括了JS获取短信验证码倒计时的实现代码的使用技巧和注意事项,需要的朋友参考一下 废话不多说了,直接给大家贴代码了,具体代码如下所示: 以上所述是小编给大家介绍的JS获取短信验证码倒计时的实现代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对呐喊教程网站的支持!
本文向大家介绍ionic+AngularJs实现获取验证码倒计时按钮,包括了ionic+AngularJs实现获取验证码倒计时按钮的使用技巧和注意事项,需要的朋友参考一下 按钮功能为:点击“获取验证码”——按钮不可用-设置倒计时-60秒后重新获取。 主要实现原理:点击后,设置一个$interval,每一秒更改一次剩余时间,并依赖Angular数据绑定实时显示在页面中。设置一个$timeout,60
本文向大家介绍iOS实现短信验证码倒计时,包括了iOS实现短信验证码倒计时的使用技巧和注意事项,需要的朋友参考一下 在开发中,经常在需要用户注册的时候会需要实现验证码倒计时的功能,下面是解决这个问题的两种思路(使用UIButton控件) 一、利用NSTimer计时器 1.新建一个UIButton按钮,设置成属性,名为codeButton。(UIButton样式一定要为自定义,否则后面倒计时数秒时会
本文向大家介绍js实现发送验证码后的倒计时功能,包括了js实现发送验证码后的倒计时功能的使用技巧和注意事项,需要的朋友参考一下 之前分享过只用js实现倒计时的功能,后来测试时发现,刷新或关闭网页后,倒计时就不能用了.网上也没找到合适的解决方案,所以自己就写了个,这次的算是优化版吧,能满足刷新或重新打开网页后,倒计时依然能用 特别说明: cookie最初创建的有效时间是60秒.也就是说,你
本文向大家介绍js实现新年倒计时效果,包括了js实现新年倒计时效果的使用技巧和注意事项,需要的朋友参考一下 一年又一年,新年又快到了,最近大家又开始抢回家过年的车票了,我们就来算一算离新年还有多少天,总结总结在即将过去的2015年大家都收获了什么? 本文实例讲述了js实现新年倒计时效果代码。分享给大家供大家参考。具体如下: 运行效果图: 具体代码: 希望本文所述对大家学习javascript程序设
VerificationCode 验证码倒计时 平台差异说明 App H5 微信小程序 支付宝小程序 百度小程序 头条小程序 QQ小程序 √ √ √ √ √ √ √ 基本使用 通过ref获取组件对象,再执行后面的操作,见下方示例。 通过seconds设置需要倒计的秒数(默认60) 通过ref调用组件内部的start方法,开始倒计时 通过监听change事件(从开始到结束之间,每秒触发一次)获得提示