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 相关文章推荐
javascript闭包的高级使用方法实例
Jul 04 Javascript
javascript设计模式之工厂模式示例讲解
Mar 04 Javascript
js创建表单元素并使用submit进行提交
Aug 14 Javascript
JS实现双击内容变为可编辑状态
Mar 03 Javascript
vue cli构建的项目中请求代理与项目打包问题
Feb 26 Javascript
Vue 使用 Mint UI 实现左滑删除效果CellSwipe
Apr 27 Javascript
解决vue无法设置滚动位置的问题
Oct 07 Javascript
Vue 组件注册实例详解
Feb 23 Javascript
Vue 实现把表单form数据 转化成json格式的数据
Oct 29 Javascript
vue自定义正在加载动画的例子
Nov 14 Javascript
详解Vue的ref特性的使用
Jan 24 Javascript
vue实现自定义多选按钮
Jul 16 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生成网页快照 不用COM不用扩展.
2010/02/11 PHP
PHP设计模式之策略模式原理与用法实例分析
2019/04/04 PHP
基于JQuery的访问WebService的代码(可访问Java[Xfire])
2010/11/19 Javascript
jQuery中关于ScrollableGridPlugin.js(固定表头)插件的使用逐步解析
2014/07/17 Javascript
5个数组Array方法: indexOf、filter、forEach、map、reduce使用实例
2015/01/29 Javascript
javascript单例模式的简单实现方法
2015/07/25 Javascript
基于JS实现PHP的sprintf函数实例
2015/11/14 Javascript
jQuery制作圣诞主题页面 更像是爱情影集
2016/08/10 Javascript
Ajax使用原生态JS验证用户名是否存在
2020/05/26 Javascript
Angular.Js的自动化测试详解
2016/12/09 Javascript
动态加载css方法实现和深入解析
2017/01/18 Javascript
微信小程序 定位到当前城市实现实例代码
2017/02/23 Javascript
JavaScript上传文件时不用刷新页面方法总结(推荐)
2017/08/15 Javascript
vue实现点击当前标签高亮效果【推荐】
2018/06/22 Javascript
Vue项目添加动态浏览器头部title的方法
2018/07/11 Javascript
JS闭包原理与应用经典示例
2018/12/20 Javascript
layui表格分页 记录勾选的实例
2019/09/02 Javascript
在Vue mounted方法中使用data变量详解
2019/11/05 Javascript
原生JavaScript实现贪吃蛇游戏
2020/11/04 Javascript
python使用sorted函数对列表进行排序的方法
2015/04/04 Python
使用PDB简单调试Python程序简明指南
2015/04/25 Python
通过Python使用saltstack生成服务器资产清单
2016/03/01 Python
通过Python 获取Android设备信息的轻量级框架
2017/12/18 Python
python+opencv轮廓检测代码解析
2018/01/05 Python
python 统计一个列表当中的每一个元素出现了多少次的方法
2018/11/14 Python
Python爬虫文件下载图文教程
2018/12/23 Python
Python设计模式之状态模式原理与用法详解
2019/01/15 Python
在Keras中CNN联合LSTM进行分类实例
2020/06/29 Python
keras中epoch,batch,loss,val_loss用法说明
2020/07/02 Python
Python实现数字的格式化输出
2020/08/01 Python
通过实例简单了解Python sys.argv[]使用方法
2020/08/04 Python
捷克玩具商店:Bambule
2019/02/23 全球购物
寻找完美的房车租赁:RVShare
2019/02/23 全球购物
中专自我鉴定范文
2013/10/16 职场文书
法人委托书范本
2014/04/04 职场文书
职业生涯规划书怎么写?
2014/09/14 职场文书