表单注册及自定义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>