1.设计一个简单的手机验证界面:

2.为获取验证码设置点击事件,并将值发送到send()方法:

$(document).on('click','#aaa',function () {var a = $("[name='phone']").val();if (a==""){return false;//判断输入的手机号是否为空
    }$.get("{:url('index/send')}",{phone:a},function () {})})
3.判断是否能够传输值

4.传输成功之后,为数据库中添加字段,前台控制器方法为:

    public function send(){
        $data['phone']=input('get.phone');//获取手机号
        $data['yzm'] = rand(1000,9999);//设置随机数
        //http://api.k780.com/?app=sms.send&tempid=你创建的模板ID&param=替换参数&phone=手机号码&appkey=APPKEY&sign=SIGN&format=json
        $data['y_time'] = time();//添加时间戳
        $res = Db::table('yz')->insert($data);//将数据添加至yz数据库
        if ($res){
            return 1;//添加成功,则返回1
        }
    }
}

数据库中的字段:

添加成功后,json返回:

$.get("{:url('index/send')}",{phone:a},function (data) {if (data==1){alert('发送成功');}}
)

5.随后进行验证,以及修改验证码的状态

class Index extends Controller {
    public function index(){
        if (Request::instance()->isGet()){
            return view();
        }else{
            $val = input('post.yz');//接收表单中输入的验证码
            //print_r($val);
            if ($val==""){
                $this->error('验证码不能为空');//判断验证码是否为空
            }
            //进行数据查询,判断接收到的验证码是否存在以及状态是否为1
            $res = Db::table('yz')->where('yzm','like',$val)->where('status','in',1)->find();
            if ($res){
                $t = time();//获取当前时间
                if ($res['y_time']-$t>60){//判断时间,如果时间大于60秒,则验证码过期
                    $this->error('验证码过期');
                }
                Db::table('yz')->where('yzm','like',$val)->where('status','in',1)->update(['status'=>2]);
                //如果登录成功,表明已经使用过该验证码,则改变其状态
                $this->success('登录成功');
            }else{
                $this->error('验证码错误');
            }
        }
    }

让我们来看一看效果:

如果时间超时,则显示验证码已过期,这里就不一一展示了。

关于手机验证码的获取与验证方法相关推荐

  1. 获取手机验证码——Vant表单验证/后端框架express/前后端交互

    完成一个获取手机验证码的功能,在获取之前要对手机号进行表单验证,判断是否输入/输入的是否为正确格式,获取手机验证码后可等待n秒重新获取,代码如下: <template><div cl ...

  2. 一键root手机,快速获取权限的方法

    Root 手机,这是使用安卓手 机朋友的最爱,也是拿到手机后最想做的事情,可以很多朋友还不知道怎么root.有些手机可以轻松一键root,有些要手动,一步一步通过官方给予的 root工具或者其他附件来 ...

  3. 登录系统时的手机验证码如何获取的

    哈哈,又到周末了,自由的个人时间来啦,今天在连接公司的vpn时,看到需要根据个人信息(账户和密码,有的时候也可能直接是手机号),获取验证码,就想研究下验证码是如何来的..... 当我们在用户个人信息界 ...

  4. 正则验证 手机账号和密码正则验证方法

    HTML点击验证手机号码和密码 <div><div><input type="text" v-model="formData.mobile& ...

  5. Android SDK22以下 读写手机存储权限获取失败问题处理方法

    针对小米手机sdk22以下sdk获取不到文件 存储权限问题. /****************** Android SDK22 读写手机存储权限获取问题处理方法 ****************** ...

  6. 收不到手机验证码怎么办

    我也是注册帐号几天了,一直没有收到手机验证码,试过了各种方法都没效果. 终于有一天我收到了网站发来的验证短信,那是我在扫了几十次二维码以后突然就收到了一条验证. 所以我认为收不到手机验证码的办法就是反 ...

  7. Java笔记-手机验证码实现

    这里以 互亿无线 的为例. 逻辑上为,自己的java服务器生成随机数,然后发给那个 手机短信厂家,厂家把这个随机数发给用户手机.用户提交这个验证码后,再对比. 这里互亿无线,的接口有点坑,用http, ...

  8. 程序员过关斩将--从用户输入手机验证码开始

    菜菜哥,请教个问题呗? 说说看,能否解决不敢保证哦 最近做的App业务中,有很多敏感操作需要用户输入手机验证码 这没问题,手机验证码主要是为了验证当前操作人的有效性,有什么问题呢? 如果有数的几个操作 ...

  9. [IOS]SMS获取验证手机验证码

    [IOS]SMS获取&验证手机验证码 DEMO:http://download.csdn.net/detail/u012881779/9311645 短信SDK无UI集成文档: http:// ...

最新文章

  1. Codeforces 903E Swapping Characters
  2. linux nfs搭建
  3. 关于程序中的操作符左移和右移问题
  4. 《Windows via C/C++》学习笔记 —— Windows 线程池
  5. React-事件机制杂记
  6. 魔方内部长啥样?三维动画展示其结构,谁发明的真是个天才
  7. mybatis-plus如和获取当天得数据_MybatisPlus多数据源及事务解决思路
  8. 【华为云技术分享】【玩转Atlas200DK系列】应用开发之 交叉编译第三方库并在工程中使用(jsoncpp)
  9. 【AD】Altium designer IPC快速创建封装
  10. snmp v3的安全配置 snmp认证与加密配置(53)
  11. PAT (Basic Level) Practice (中文)1043 输出PATest (20 分)
  12. stl list中erase和remove区别
  13. C语言版RPG角色生成器
  14. 10分钟免费邮箱:10minutemail
  15. 五步制定企业的使命、愿景和价值观
  16. 个人征信报告有哪些版本?
  17. 两个自变量和一个因变量spss_多个自变量对一个因变量的影响(SPSS:协方差分析)...
  18. 华为海思芯片 网口烧录详解(翻遍全网资料 结合实际成功操作)
  19. 解决浏览器连不上校园网问题
  20. html5发展现状调查问卷,《小班语言发展现状调查问卷分析报告》

热门文章

  1. 牛客网社区项目——p3.4事务管理
  2. 前端测试框架Jest——语法篇
  3. UE4骨骼重定向(二)借助插件Mixamo Converter快速操作Mixamo网站资源
  4. 设计改变世界,2022年戴森设计大奖作品征集正式开启
  5. SOI七层模型和TCP/IP五层协议:
  6. MyBatis-架构概述,什么是框架,三层架构,JDBC
  7. Set里的元素是不能重复的,那么用什么方法来区分重复与否呢?是用==还是equals()?它们有何区别?
  8. android加载本地图库,Android读取本地图库与调用摄像头拍摄
  9. 最美的七律却不讲规则
  10. 单例模式(Python中的单例类)