时间:2021-05-26
最近做了一个项目,其中有项目需求涉及到手机号验证码,就是当用户点击获取验证码之后我们会发送一条信息到用户手机,然后就会出现一个倒计时按钮,很像支付宝手机付款效果了,下面我给大家分享两个实现代码。
如何获取手机验证码?
小月不知道大家是利用什么平台去获取验证码的,但是告诉大家我是在哪个平台获取的。
LeanCloud :https://leancloud.cn/
文档:https://leancloud.cn/docs/sms_guide-js.html
在这个平台首先去要注册一个账号,在设置里面设置自己的信息按照文档去操作就可以了这里不多说了,大部分是后台去操作些接口的,我们前端有能力的可以自己去尝试用php去写接口。(懒惰的我是不会写。)
一般是两个接口:
1.发送验证请求(这样你的手机会受到短信验证哦)
2.返回数据验证手机号和验证是否一致
根据后台攻城狮的接口去实现吧。
前端页面的工作
下面这段代码就是上图所示的页面
校验手机号是否正确
JS/JQ部分处理发送短信验证请求
//发送验证码给手机 $.ajax({type: 'GET',url:"你们后台提供的接口" + mobile, //即上面的接口1success: 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(),//月份是实际月份-1sys_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实现免费获取手机验证码倒计时效果的全部叙述,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
手机获取验证码的倒计时效果,实现很简单,附倒计时效果完整代码之前做项目使用的是nstimer做的倒计时效果,效果不太好。今天学习了下用gcd做,效果还是不错的。
本文实例为大家分享了微信小程序实现获取验证码倒计时效果的具体代码,供大家参考,具体内容如下wxml{{time}}jsvarinterval=null//倒计时
1、功能描述 当用户想要获取验证码时,就点击免费获取验证码,然后开始倒计时,倒计时期间按钮文字为剩余时间x秒,且不可按状态,倒计时结束后,按钮更改为点击重新发
我们在开发中经常用到倒计时的功能,比如发送验证码后,倒计时60s再进行验证码的获取,为了方便以后使用,这里做个记录,讲讲倒计时器的实现。1、先进行倒计时工具类的
近期因为开发一个新的H5+backbone项目,验证输入手机号验证码倒计时功能。#如上图所示要实现验证码的倒计时的效果首先做页面的布局理清楚页面效果需要实现的逻