表单注册及自定义validate手机验证码验证实例

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>尽知网</title>
    <link href="css/bootstrap.css" rel="stylesheet">
    <link href="css/font-awesome.css" rel="stylesheet">
    <link href="css/sweet-alert.css" rel="stylesheet">
    <link href="css/common.css" rel="stylesheet">
    <link href="css/index.css" rel="stylesheet">
    <link href="css/media.css" rel="stylesheet">
    <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
    <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
    <!--[if lt IE 9]>
    <script src="https://cdn.bootcss.com/html5shiv/3.7.3/html5shiv.min.js"></script>
    <script src="https://cdn.bootcss.com/respond.js/1.4.2/respond.min.js"></script>
    <![endif]-->
</head>
<body>
<!--header-->
<nav id="jz-nav" class="navbar navbar-default">
    <div class="container-fluid">
        <div class="navbar-header">
            <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1" aria-expanded="false">
                <span class="sr-only">Toggle navigation</span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
            </button>
            <a class="navbar-brand" href="#">
                <img class="img-responsive" src="images/jz-logo.png" alt="">
            </a>
        </div>

        <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
            <ul class="nav navbar-nav navbar-right">
                <li><a class="cur" href="/尽知/index.html">首页</a></li>
                <li class="jz-nav-center"><a href="#">个人中心</a></li>
                <li><a href="#">发布</a></li>
                <li><a href="/尽知/login.html">登陆</a></li>
                <li><a href="/尽知/register.html">注册</a></li>
            </ul>
        </div>
    </div>
</nav>
<!--header end-->

<!--登陆表单-->
<div class="jz-register">
    <div class="container-fluid">
        <div class="row">
            <div class="col-xs-12 col-sm-6">
                <form class="form-signin form-register" id="form-sign" method="post" action="">
                    <h2 class="jz-register-title">注册账号  <span>已有账户,立即</span><a href="/尽知/login.html">登录</a></h2>
                    <input name="myusername" id="myusername" type="text" class="form-control" placeholder="账户:" autofocus="">
                    <input name="mypassword" id="mypassword" type="password" class="form-control" placeholder="密码">
                    <input name="myrepassword" id="myrepassword" type="password" class="form-control" placeholder="确认密码" autofocus="">
                    <input name="phone" id="phone" type="password" class="form-control" placeholder="手机号">
                    <a href="javascript:;" class="text-center jz-getcode">点击获取验证码</a>
                    <input name="code" id="code" type="text" class="form-control" placeholder="验证码" autofocus="">
                    <button id="register" class="btn btn-lg btn-primary btn-block" type="submit">同意以下协议并注册</button>
                    <div class="jz-user text-center">
                        <input type="checkbox" id="agree" name="agree"/>
                        <a href="javascript:;" data-toggle="modal" data-target="#myModal"> 《尽知网用户协议》</a>
                    </div>

                </form>
            </div>
            <div class="col-xs-12 col-sm-6">
                <div class="jz-film-introduce">
                    <p>如果您不想把你的店铺展示在我们的网站,请到个人中心点击”撤销展示”,我们将会第一时间对您的店铺取消展示;</p>
                    <p>部分店铺可能出现漏拍的情况,如果我们网站没有发现你的店铺请到主页点击申请拍摄;</p>
                    <p>新店开业请联系我们免费拍摄!我们将免费为您推荐到头条;
                        如果我们的网址上没有您的店(城内),请联系我们免费为您进行拍摄;
                        如需添加更多场景请到个人中心点击添加场景或联系我们!</p>
                </div>
            </div>
        </div>
    </div>
</div>
<!--登陆表单 end-->
<!--footer-->
<footer>
    <div class="jz-footer">
        <div class="container-fluid">
            <div class="row">
                <div class="col-xs-12 col-sm-6">
                    <ul>
                        <li><a href="javascript:;">免责声明</a></li>
                        <li><a href="javascript:;">使用协议</a></li>
                        <li><a href="javascript:;">投诉建议</a></li>
                    </ul>
                </div>
                <div class="col-xs-12 col-sm-6">
                    <span>电话:18225336165/18523753491  邮箱:578988509@qq.com</span> </br>
                    <span>工作时间9:00-16:00  qq群:15489314  地址:重庆市黔江区正阳街道群力社区155号</span>
                </div>
            </div>
        </div>
    </div>
</footer>
<!--footer end-->

<!--用户协议model-->
<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
    <div class="modal-dialog" role="document">
        <div class="modal-content">
            <div class="modal-header">
                <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
                <h4 class="modal-title" id="myModalLabel">尽知网用户协议须知</h4>
            </div>
            <div class="modal-body">
                ...
            </div>
            <div class="modal-footer">
                <button type="button" class="btn btn-default" data-dismiss="modal">关闭</button>
            </div>
        </div>
    </div>
</div>
<!--用户协议 end-->
<!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
<script src="common/jquery.js"></script>
<script src="common/bootstrap.min.js"></script>
<script src="common/jquery.validate.min.js"></script>
<script src="common/sweet-alert.min.js"></script>
<script src="common/jquery.cookie.js"></script>
<script>
$(function (){

    jQuery.validator.addMethod("isMobile", function(value, element) {
        var length = value.length;
        var mobile = /^(13[0-9]{9})|(18[0-9]{9})|(14[0-9]{9})|(17[0-9]{9})|(15[0-9]{9})$/;
        return this.optional(element) || (length == 11 && mobile.test(value));
    }, "请正确填写您的手机号码");

    /*表单验证*/
    $("#register").click(function() {
        /*表单验证  */
        $("#form-sign").validate({
            rules: {
                myusername: {
                    required: true
                },
                mypassword: {
                    required: true
                },
                myrepassword: {
                    required: true,
                    equalTo: "#mypassword"
                },
                phone : {
                    required : true,
                    minlength : 11,
                    // 自定义方法:校验手机号在数据库中是否存在
                    // checkPhoneExist : true,
                    isMobile : true
                },
                code : {
                    digits : true,
                    required : true
                },
                agree: "required"
            },
            messages: {
                myusername: {
                    required: "请输入账户"
                },
                mypassword: {
                    required: "请输入密码"
                },
                myrepassword: {
                    required: "请输入密码",
                    equalTo: "两次密码输入不一致"
                },
                phone : {
                    required : "请输入手机号",
                    minlength : "确认手机不能小于11个字符",
                    isMobile : "请正确填写您的手机号码"
                },
                code : {
                    required : "请输入验证码",
                    digits : "验证码应该输入数字"
                },
                agree: "请接受我们的声明"
            },
            submitHandler: function (form) {
                var $form = $(form);
                $.ajax({
                    type: "POST",
                    url: '',
                    data: $form.serializeArray(),
                    beforeSend: function () {
                        $form.find(':submit').prop('disabled', true);
                    },
                    success: function (json) {
                        if(json.errmsg == 1) {
                            swal({
                                title: "",
                                html: false,
                                text: "",
                                type: "success",
                                showCancelButton: false,
                                confirmButtonText: "确定",
                                closeOnConfirm: true
                            });
                            return
                        }
                        swal({
                            title: "注册成功",
                            html: false,
                            text: "注册成功",
                            type: "success",
                            showCancelButton: false,
                            confirmButtonText: "确定",
                            closeOnConfirm: true
                        }, function(inputValue){
                            // window.location.href = ""; //?"+Math.random();
                            /*setTimeout(function() {
                             swal('Ajax request finished!');
                             }, 2000);*/
                        });
                    },
                    complete: function () {
                        $form.find(':submit').prop('disabled', false);
                    }
                });
            }
        });
    });
})
</script>
</body>
</html>

 

posted @ 2017-06-23 14:44  进军码农  阅读(751)  评论(0编辑  收藏  举报