js实现手机发送验证码功能


Posted in Javascript onMarch 13, 2017

效果图:

js实现手机发送验证码功能

代码如下:

<!DOCTYPE html>
<html >
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>发送验证码倒计时功能</title>
<style>
@charset "utf-8";
*{ margin:0; padding:0; list-style:none}
body{ background:#EBECED; font-family:'微软雅黑'}
.form{width: 450px;height: auto; margin:100px auto; overflow:hidden;font-size: 16px;color: #1b1b1b;text-align: left; padding:50px; border:1px solid #ccc; border-radius:10px;}
.form div{padding:5px 0;overflow: hidden;}
.form label{width: 90px;display: block;float: left;}
.form .infos{width:200px;height: 26px;line-height: 26px;border:1px solid #BFBFBF;padding:2px;border-radius:4px;float: left;}
.form .div-phone a.send1{height: 26px;text-decoration:none;line-height: 26px;padding:2px;width: 80px;background: #AA8926;font-family: '宋体';color: #fff;font-size: 12px;text-align: center;display: block;float: left;border-radius:2px;margin-left:2px;-webkit-transition:all 0.2s linear;-moz-transition:all 0.2s linear;-ms-transition:all 0.2s linear;-o-transition:all 0.2s linear;transition:all 0.2s linear;}
.form .div-phone a.send1:hover{text-decoration: none;background: #866c1b;-webkit-transition:all 0.2s linear;-moz-transition:all 0.2s linear;-ms-transition:all 0.2s linear;-o-transition:all 0.2s linear;transition:all 0.2s linear;}
.form .div-phone a.send0{height: 26px;text-decoration:none;line-height: 26px;padding:2px;width: 80px;background: #A1A1A1;font-family: '宋体';color: #fff;font-size: 12px;text-align: center;display: block;float: left;border-radius:2px;margin-left:2px;}
.form .div-phone a.send0:hover{background: #A1A1A1;font-family: '宋体';color: #fff;font-size: 12px;text-decoration: none;}
.form span.error{height: 26px;line-height: 26px;padding:2px;width: 100px;color: red;padding-left:20px;display: block;float: left;margin-left:10px;font-size: 12px;font-family: '宋体';background: url(../images/error.png) no-repeat left center;}
.form #phone{width: 116px;}
.form .div-conform{padding-right:153px;}
.form .div-conform a.conform{width: 136px;height: 34px;display: block;text-align: left;overflow: hidden;background: url(../images/btn.jpg) no-repeat;float: right;text-indent: -1000px;}
</style>
</head>
<body>
<!--代码部分begin-->
<div class="form">
 <div class="div-name">
 <label for="name">用户名</label><input type="text" id="name" class="infos" placeholder="请输入用户名" />
 </div>
 <div class="div-phone">
 <label for="phone">手机</label><input type="text" id="phone" class="infos" placeholder="请输入手机" />
 <a href="javascript:;" rel="external nofollow" rel="external nofollow" class="send1" onclick="sends.send();">发送验证码</a>
 </div>
 <div class="div-ranks">
 <label for="ranks">验证码</label><input type="text" id="ranks" class="infos" placeholder="请输入验证码" />
 </div>
 <div class="div-conform">
 <a href="javascript:;" rel="external nofollow" rel="external nofollow" class="conform" onclick="sends.conform();">提交</a>
 </div>
</div>
<script src="http://www.lanrenzhijia.com/ajaxjs/jquery.min.js"></script>
<script>
var sends = {
 checked:1,
 send:function(){
  var numbers = /^1\d{10}$/;
  var val = $('#phone').val().replace(/\s+/g,""); //获取输入手机号码
  if($('.div-phone').find('span').length == 0 && $('.div-phone a').attr('class') == 'send1'){
  if(!numbers.test(val) || val.length ==0){
   $('.div-phone').append('<span class="error">手机格式错误</span>');
   return false;
  }
  }
  if(numbers.test(val)){
  var time = 30;
  $('.div-phone span').remove();
  function timeCountDown(){
   if(time==0){
   clearInterval(timer);
   $('.div-phone a').addClass('send1').removeClass('send0').html("发送验证码");
   sends.checked = 1;
   return true;
   }
   $('.div-phone a').html(time+"S后再次发送");
   time--;
   return false;
   sends.checked = 0;
  }
  $('.div-phone a').addClass('send0').removeClass('send1');
  timeCountDown();
  var timer = setInterval(timeCountDown,1000);
  }
 }
}
</script>
</body>
</html>

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持三水点靠木!

Javascript 相关文章推荐
js和as的稳定传值问题解决
Jul 14 Javascript
二叉树先序遍历的非递归算法具体实现
Jan 09 Javascript
现如今最流行的JavaScript代码规范
Mar 08 Javascript
JS函数的定义与调用方法推荐
May 12 Javascript
JS之获取样式的简单实现方法(推荐)
Sep 13 Javascript
JS简单验证上传文件类型的方法
Apr 17 Javascript
在Vue中使用icon 字体图标的方法
Jun 14 Javascript
vue使用nprogress实现进度条
Dec 09 Javascript
js实现鼠标拖拽div左右滑动
Jan 15 Javascript
vuejs实现下拉框菜单选择
Oct 23 Javascript
JavaScript TAB栏切换效果的示例
Nov 05 Javascript
nuxt.js 在middleware(中间件)中实现路由鉴权操作
Nov 06 Javascript
Javascript封装id、class与元素选择器方法示例
Mar 13 #Javascript
原生js实现吸顶效果
Mar 13 #Javascript
vue2.0嵌套路由实现豆瓣电影分页功能(附demo)
Mar 13 #Javascript
jquery.flot.js简单绘制折线图用法示例
Mar 13 #Javascript
深入理解Node.js中的进程管理
Mar 13 #Javascript
jQuery简易时光轴实现方法示例
Mar 13 #Javascript
JavaScript评论点赞功能的实现方法
Mar 13 #Javascript
You might like
PHP的可变变量名的使用方法分享
2012/02/05 PHP
php数组声明、遍历、数组全局变量使用小结
2013/06/05 PHP
PHP cookie,session的使用与用户自动登录功能实现方法分析
2019/06/05 PHP
jQuery在html有效在jsp无效的原因及解决方法
2013/08/02 Javascript
javascript中的self和this用法小结
2014/02/08 Javascript
extjs_02_grid显示本地数据、显示跨域数据
2014/06/23 Javascript
jQuery带箭头提示框tooltips插件集锦
2014/11/17 Javascript
详解Javacript和AngularJS中的Promises
2016/02/09 Javascript
javascript HTML5文件上传FileReader API
2020/03/27 Javascript
jquery中live()方法和bind()方法区别分析
2016/06/23 Javascript
jQuery如何解决IE输入框不能输入的问题
2016/10/08 Javascript
微信小程序 开发MAP(地图)实例详解
2017/06/27 Javascript
JavaScript正则表达式的贪婪匹配和非贪婪匹配
2017/09/05 Javascript
node内置调试方法总结
2018/02/22 Javascript
JavaScript实现的DOM树遍历方法详解【二叉DOM树、多叉DOM树】
2018/05/07 Javascript
Vue 实现列表动态添加和删除的两种方法小结
2018/09/07 Javascript
使用JQuery自动完成插件Auto Complete详解
2019/06/18 jQuery
javascript设计模式 ? 代理模式原理与用法实例分析
2020/04/16 Javascript
JS面试题中深拷贝的实现讲解
2020/05/07 Javascript
微信小程序实现列表滚动头部吸顶的示例代码
2020/07/12 Javascript
[02:38]DOTA2亚洲邀请赛 IG战队巡礼
2015/02/03 DOTA
[51:29]完美世界DOTA2联赛循环赛 Matador vs Forest BO2第一场 11.05
2020/11/05 DOTA
Python使用PIL库实现验证码图片的方法
2016/03/11 Python
利用Python获取操作系统信息实例
2016/09/02 Python
Python 实现Windows开机运行某软件的方法
2018/10/14 Python
Python利用多线程同步锁实现多窗口订票系统(推荐)
2019/12/22 Python
使用html2canvas实现浏览器截图的示例代码
2018/01/26 HTML / CSS
Steve Madden官网:美国鞋类品牌
2017/01/29 全球购物
YSL Beauty加拿大官方商城:圣罗兰美妆加拿大
2017/05/15 全球购物
宏碁西班牙官网:Acer西班牙
2021/01/08 全球购物
Vector, ArrayList, HashTable, HashMap哪些是线程安全的,哪些不是
2015/10/12 面试题
活动宣传策划方案
2014/05/23 职场文书
市政工程技术专业自荐书
2014/07/06 职场文书
2014年体检中心工作总结
2014/12/23 职场文书
社区安置帮教工作总结2015
2015/05/20 职场文书
关于Mybatis中SQL节点的深入解析
2022/03/19 Java/Android