js实现登录注册框手机号和验证码校验(前端部分)


Posted in Javascript onSeptember 28, 2017

开发的很多场景中都会用到手机号的校验和验证码的校验,具体实现如下

<div>
 <input type="text" name="phonenumber" placeholder="请输入您的手机号码" />
 <input type="text" name="verify" placeholder="请输入验证码" /><input type="button" value="发送验证码" class="verify_code" />
 <input type="button" name="btn" placeholder="立即领取" class="btn" />
</div>
<!--弹出层-->
<div class="layer" style="display:none">
  <p>领取成功</p>
  <img src="img/close-btn.png" class="close-btn">
</div>
$(document).ready(function(){
//点击关闭按钮关闭弹出层
 $(".close-btn").click(function(){
  $("layer").hide();
 });

//只有再手机号和验证码验证为有效后,点击领取按钮跳出弹出层事件才生效
 $('[name=btn]').click(function(){
   if(!validate()){
  return false;
  }
  $(".layer").show();
 });

//验证
function validate(){
//正则表达式,十一位数字的电话号码
 var phoneReg = /^(0|86|17951)?(13[0-9]|15[012356789]|17[0-9]|18[0-9]|14[57])[0-9]{8}$/;
//如果手机号码输入为空,则再输入框后插入错误信息
if($('[name=phonenumber]').val==''){
  $('[name=phonenumber]').after(errMsg('手机号码不能为空!'));

return false;

}
//验证输入的电话号码是否是11位数字
if(!phoneReg.test($('[name=phonenumber]').val())){
$('[name=phonenumber]').after(errMsg('请输入正确的手机号码!'));


return false;
}

//验证码不为空验证
if($('[name=verify]').val==''){
  $('[name=verify]').after(errMsg('验证码不能为空!'));


return false;
}
$('.error').remove();
return true;}
//点击发送验证码按钮,进行倒计时
$('.verify_code').on('',function(){
 if(!this.b){
 setTimer();
 this.b=true;
}
})

//倒计时
function setTimer(){

var time=60;
 var timers=setInterval(function(){
 time--;
if(time <= 0){
 time=0;
 console.log(time);
 $('.verify_code').eq(0)[0].b=false;
 $('.verify_code').val('获取验证码');
 clearInterval(timers);
return false;
 
}
$('.verify_code).val( time+ '秒后重新获取');
},1000)
}


//错误信息显示
function errMsg(html){

$('.error').remove();

var str='<div class="error">*'+html+'</div>';
 return str;
}

});

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
javascript 带有滚动条的表格,标题固定,带排序功能.
Nov 13 Javascript
jquery对ajax的支持介绍
Dec 10 Javascript
table insertRow、deleteRow定义和用法总结
May 14 Javascript
JavaScript中的getDay()方法使用详解
Jun 09 Javascript
javascript实现瀑布流加载图片原理
Feb 02 Javascript
BootStrap框架个人总结(bootstrap框架、导航条、下拉菜单、轮播广告carousel、栅格系统布局、标签页tabs、模态框、菜单定位)
Dec 01 Javascript
重新理解JavaScript的六种继承方式
Mar 24 Javascript
微信小程序实现倒计时60s获取验证码
Apr 17 Javascript
详解vue中使用express+fetch获取本地json文件
Oct 10 Javascript
Vue通过ref父子组件拿值方法
Sep 12 Javascript
JavaScript命令模式原理与用法实例详解
Mar 10 Javascript
vue-cli设置publicPath小记
Apr 14 Javascript
基于JavaScript实现前端数据多条件筛选功能
Aug 19 #Javascript
javascript 开发之网页兼容各种浏览器
Sep 28 #Javascript
JavaScript中重名的函数与对象示例详析
Sep 28 #Javascript
js 开发之autocomplete=&quot;off&quot;在chrom中失效的解决办法
Sep 28 #Javascript
微信小程序下拉刷新界面的实现
Sep 28 #Javascript
详解Vuex中mapState的具体用法
Sep 28 #Javascript
Node.js学习之地址解析模块URL的使用详解
Sep 28 #Javascript
You might like
深入解析PHP中逗号与点号的区别
2013/08/05 PHP
php mailer类调用远程SMTP服务器发送邮件实现方法
2016/03/04 PHP
PHP+jquery+CSS制作头像登录窗(仿QQ登陆)
2016/10/20 PHP
php两点地理坐标距离的计算方法
2018/12/29 PHP
PHP count()函数讲解
2019/02/03 PHP
Laravel基础_关于view共享数据的示例讲解
2019/10/14 PHP
php实现微信和支付宝支付的示例代码
2020/08/11 PHP
修改jquery.lazyload.js实现页面延迟载入
2010/12/22 Javascript
动态加载js和css(外部文件)
2013/04/17 Javascript
javascript文本框内输入文字倒计数的方法
2015/02/24 Javascript
通过实例理解javascript中没有函数重载的概念
2015/06/03 Javascript
javascript原型模式用法实例详解
2015/06/04 Javascript
js实现碰撞检测特效代码分享
2016/10/16 Javascript
详解vuejs之v-for列表渲染
2017/06/22 Javascript
前端图片懒加载(lazyload)的实现方法(提高用户体验)
2017/08/21 Javascript
详解微信小程序Page中data数据操作和函数调用
2017/09/27 Javascript
从parcel.js打包出错到选择nvm的全部过程
2018/01/23 Javascript
在react中使用vuex的示例代码
2018/07/30 Javascript
express express-session的使用小结
2018/12/12 Javascript
后台使用freeMarker和前端使用vue的方法及遇到的问题
2019/06/13 Javascript
在 Vue 中编写 SVG 图标组件的方法
2020/02/24 Javascript
Python不规范的日期字符串处理类
2014/06/10 Python
python自动化测试之连接几组测试包实例
2014/09/28 Python
Java Web开发过程中登陆模块的验证码的实现方式总结
2016/05/25 Python
Python中pygal绘制雷达图代码分享
2017/12/07 Python
python hook监听事件详解
2018/10/25 Python
Python可变和不可变、类的私有属性实例分析
2019/05/31 Python
django admin 自定义替换change页面模板的方法
2019/08/23 Python
Python 点击指定位置验证码破解的实现代码
2019/09/11 Python
基于Python实现人脸自动戴口罩系统
2020/02/06 Python
python 多线程死锁问题的解决方案
2020/08/25 Python
美国知名的百货清仓店:Neiman Marcus Last Call
2016/08/03 全球购物
Ray-Ban雷朋奥地利官网:全球领先的太阳眼镜品牌
2020/10/12 全球购物
网络方面基础面试题
2012/11/16 面试题
名词解释型面试题(主要是网络)
2013/12/27 面试题
What's the difference between Debug and Trace class? (Debug类与Trace类有什么区别)
2013/09/10 面试题