layui框架实战案例(10):短信验证码60秒倒计时

简介: layui框架实战案例(10):短信验证码60秒倒计时

layui封装库

    <!--layui封装库-->
    <script src="js/layui/layui.js" charset="utf-8"></script>
    <link rel="stylesheet" href="js/layui/css/layui.css">


构建表单

<div style="margin-top: 10px;">
    <form class="layui-form">
        <div class="layui-form-item">
            <label class="layui-form-label">手机号码</label>
            <div class="layui-input-inline"><input type="text" name="mobile" id="mobile" lay-verify="mobile" autocomplete="off" class="layui-input"></div>
        </div>
        <div class="layui-form-item">
            <label class="layui-form-label">验证码</label>
            <div class="layui-input-inline"><input type="text" name="smscode" id="smscode" lay-verify="smscode" autocomplete="off" class="layui-input" disabled="disabled"></div>
            <div class="layui-input-inline">
                <input type="button" class="layui-btn layui-btn-primary" id="btnSendCode" disabled="disabled" value="获取验证码">
            </div>
        </div>
    </form>
</div>


layui调用

   /*layui调用*/
    layui.use(['layer', 'form'], function () {
        $ = layui.jquery;
        var form = layui.form, layer = layui.layer;
        //自定义验证规则
        form.verify({
            mobile: [/^1[3|4|5|7|8]\d{9}$/, '手机必须11位,只能是数字。']
        });
    });
    $(function () {
        var wait = 60;
        function time(o) {
            if (wait == 0) {
                o.removeAttribute("disabled");
                o.value = "获取验证码";
                wait = 60;
            } else {
                o.setAttribute("disabled", true);
                o.value = "重新发送(" + wait + ")";
                wait--;
                setTimeout(function () {
                    time(o);
                }, 1000);
            }
        }
        $("#mobile").change(function () {
            var mobile = $.trim($("#mobile").val());
            if (mobile.length == 11) {
                $("#smscode").attr("disabled", false).css({"background-color": "#fff"});
                $("#btnSendCode").attr("disabled", false).removeClass("layui-btn layui-btn-primary").addClass("layui-btn layui-btn-normal");
                document.getElementById("btnSendCode").onclick = function () {
                    if (wait != 60) {
                        console.log("请" + wait + "秒后再试!");
                        return;
                    }
                    if (mobile == '') {
                        console.log("请填写手机号码");
                        return;
                    }
                    $("#smscode").val("");
                    time(this);
                    $.getJSON("smsbao.php", {act: 'sms_reg', mobile: mobile}, function (res) {
                        if (res.err == '0') {
                            console.log("发送失败," + res.err, 4000);
                            return;
                        } else {
                            $("#smscode").val(res.code);
                            console.log("验证码已发送,5分钟内有效");
                            return;
                        }
                    });
                }
            } else {
                $("#smscode").attr("disabled", true);
                $("#btnSendCode").attr("disabled", false).removeClass("layui-btn layui-btn-primary").addClass("layui-btn layui-btn-normal");
            }
        });
    })


@lockdata.cn

相关文章
|
8月前
|
前端开发 JavaScript Java
Layui的入门级教学,基本使用及如何实现登入与注册页面
Layui的入门级教学,基本使用及如何实现登入与注册页面
268 0
|
10月前
|
前端开发 JavaScript Java
【Layui】入门必看:登录注册界面搭建与功能开发解析
Layui是一款面向前端开发者的轻量级JavaScript库,旨在简化网页开发过程。它提供了丰富的基础UI组件和常用的工具函数,使开发者可以更快速地构建出优秀的网页界面。Layui具备以下特点和功能:简洁易用:Layui的设计理念是简洁而易用,它提供了直观的API和简单的配置,使开发者可以更快速地上手并快速构建界面。模块化加载:Layui采用模块化的加载方式,每个功能都是以独立的模块形式存在,开发者可以根据自己的需求按需加载所需的模块,避免了不必要的资源浪费。基础UI组件。
|
10月前
|
JavaScript 前端开发
原生JS实现移动端短信验证码功能
原生JS实现移动端短信验证码功能
173 0
原生JS实现移动端短信验证码功能
|
3天前
|
JSON 小程序 JavaScript
【微信小程序-原生开发】实用教程13 - 新用户注册审核(含页面的下拉刷新)
【微信小程序-原生开发】实用教程13 - 新用户注册审核(含页面的下拉刷新)
7 0
|
2月前
|
前端开发
当当网新用户注册界面——CSS代码
当当网新用户注册界面——CSS代码
|
2月前
|
JavaScript
当当网新用户注册界面——JS代码
当当网新用户注册界面——JS代码
|
10月前
|
开发框架 前端开发 JavaScript
前端框架Layui的使用讲解(Layui搭建登录注册页面)(一)
前端框架Layui的使用讲解(Layui搭建登录注册页面)
517 0
|
10月前
|
前端开发 JavaScript API
ElementUI基本介绍及登录注册案例演示2
ElementUI基本介绍及登录注册案例演示2
123 0
|
10月前
|
JavaScript 前端开发 API
ElementUI基本介绍及登录注册案例演示1
ElementUI基本介绍及登录注册案例演示1
53 0
|
10月前
|
前端开发 JavaScript Java
前端LayUI框架快速上手实现登入注册
前端LayUI框架快速上手实现登入注册
166 0