表单验证以及获取手机验证码的小demo
2017-10-28 01:06
357 查看
// 需求:根据不同的响应结果,进行响应。 // (1) 如果接口调用成功 // 如果响应代码为100,倒计时 // 如果响应代码为101,提示手机号重复 // (2)如果接口调用失败,告诉用户"服务器繁忙,请稍候再试" function showTips(content) { $('.tips>p').text(content).stop(true).slideDown(1000).delay(100).slideUp(2000) } // 明确需求: // 实现 点击按钮, 给用户手机发送短信 // 调用后台提供的接口, 后台就可以帮我们发送短信了 // 1. 发送请求前, 进行格式校验 // (1) 手机号码不能为空 如果为空提示"手机号不能为空" // (2) 手机号码格式必须正确, 提示"请输入正确的手机号码" var $sendBt = $('#sendBt'); $sendBt.click(function () { // (1) 手机号码不能为空 如果为空提示"手机号不能为空" if($('#mobile').val().trim()===""){ showTips("呵呵"); return; } //(2) 手机号码格式必须正确, 提示"请输入正确的手机号码"(正则验证) if(!/^1\d{10}$/.test($('#mobile').val())){ showTips("哈哈"); return; } // 点击发送时,按钮显示为"发送中",并且不能重复提交请求 $sendBt.val("发送中。。。").addClass("disabled"); $.ajax({ type:"get", < 111e6 /span>url:"getCode.php", data:{ mobile:$('#mobile').val() }, dataType:"json", success: function (data) { console.log(data); if(data.code ===100){ showTips(data.msg); var count = 3; var timer = setInterval(function () { count--; $sendBt.val(count+'秒后再次发送'); if(count === 0){ clearInterval(timer); $sendBt.val('发送验证码').removeClass('disabled'); } },1000) } if(data.code ===101){ showTips(data.msg); $sendBt.val('再次发送验证码').removeClass('disabled'); } }, error: function (error) { showTips("服务器繁忙"); //恢复按钮 $sendBt.val("获取验证码").removeClass("disabled"); } }) }) //注册功能 //总需求:点击注册按钮,向服务端发送请求 var $submitBt = $('#submitBt'); $submitBt.click(function () { //需求1:表单校验 //1.1 用户名不能为空,否则提示"请输入用户名" if($('.name').val().trim() == ""){ showTips("请输入用户名"); return; } //1.2 密码不能为空,否则提示"请输入密码" if($('.pass').val().trim() == ""){ showTips("请输入密码"); return; } //1.3 确认密码必须与密码一直,否则提示"确认密码与密码不一致" if($('.repass').val() !== $('.pass').val()){ showTips("确认密码与密码不一致"); return; } // (1) 手机号码不能为空 如果为空提示"手机号不能为空" if($('#mobile').val().trim()==""){ showTips("呵呵"); return; } //(2) 手机号码格式必须正确, 提示"请输入正确的手机号码"(正则验证) if(!/^1\d{10}$/.test($('#mobile').val())){ showTips("哈哈"); return; } //1.6 短信验证码必须是4位的数字,否则提示"验证码格式错误" if(!/\d{4}$/.test($('.code').val())){ showTips("验证码提示错误"); return; } //需求2:点击注册按钮时,按钮显示为"注册中...",并且不能重复提交请求 if($submitBt.hasClass('disabled')){ return; } $submitBt.val('注册中...').addClass('disabled'); // console.log($('#ajaxForm').serialize()); //需求3:根据不同响应结果,处理响应 $.ajax({ url: "register.php", type: "post", dataType: "json", // $(表单).serialize 方法 会将所有表单中 设置了 name 属性的表单元素, // 进行 参数拼接, jquery 直接支持在 data 传输这种格式 // name=1234&pass=1234&mobile=15751776628&code=1234 data: $('#ajaxForm').serialize(), //3.1 接口调用成功 success: function (data) { console.log(data); //100 提示用户注册成功,3s后跳转到首页 if(data.code ===100){ showTips(data.msg); setTimeout(function () { location.href = "www.baidu.com"; },3000) } //101 提示用户"用户名jepson已经存在" if(data.code ===101){ showTips(data.msg); $submitBt.val('立即注册').removeClass('disabled'); } //102 提示用户"验证码错误" if(data.code ===102 ){ showTips(data.msg); $submitBt.val("立即注册").removeClass('disabled'); } }, //3.1 接口调用失败,提示"服务器繁忙,请稍后再试",恢复按钮的值 error: function (error) { showTips("服务器繁忙,请稍后再试"); $submitBt.val('立即注册').removeClass('disabled'); } }) })
相关文章推荐
- android获取手机验证码界面以及倒计时实现demo
- 参考了一些获取验证码的方式,再次封装一下获取验证码按钮,以及手机号码的正则处理
- 注册验证问题,获取验证码后修改手机
- 表单验证以及获取标签值和ckeditor的textarea判断是否为空
- 表单增强与验证——提交表单(处理submit事件以及获取表单的值)
- 表单验证以及获取标签值和ckeditor的textarea判断是否为空
- jQuery 找回密码三步验证邮箱正则表达式 验证手机 获取验证码倒计时 php版
- 基础的表单验证和倒计时获取验证码
- Android Demo手机获取验证码
- ajax正则,php正则验证表单以及验证码
- Android Demo手机获取验证码
- javaweb登录页面验证码验证以及session中验证码值获取不同步的问题
- [IOS]SMS获取&验证手机验证码
- angular获取手机验证码 移动端登录注册
- 验证表单的demo
- 软件工程课程设计问题总结——医院门诊系统(二):jsp中验证码的实现&设置验证失败不提交表单
- layui表单验证demo
- 一起学android之如何获取手机程序列表以及程序相关信息并启动指定程序 (26)
- jsp Servlet 获取表单内以及URL上所有的参数
- 注解:SpringMVC中表单参数的限定和获取表单参数以及获取request,response,session+方法返回值讲解