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 相关文章推荐
广告显示判断
Aug 31 Javascript
java script编程起步(第三课)
Jan 10 Javascript
jquery中常用的函数和属性详细解析
Mar 07 Javascript
JavaScript DOM事件(笔记)
Apr 08 Javascript
JavaScript实现非常简单实用的下拉菜单效果
Aug 27 Javascript
Sea.JS知识总结
May 05 Javascript
JavaScript希尔排序、快速排序、归并排序算法
May 08 Javascript
JavaScript中的各种操作符使用总结
May 26 Javascript
Ionic2调用本地SQlite实例
Apr 22 Javascript
详解Angular 4.x Injector
May 04 Javascript
JS跨域请求的问题解析
Dec 03 Javascript
openlayers实现地图测距测面
Sep 25 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判断网络文件是否存在的方法
2015/03/12 PHP
php 利用array_slice函数获取随机数组或前几条数据
2015/09/30 PHP
PHP实现数据四舍五入的方法小结【4种方法】
2019/03/27 PHP
JavaScript对象模型-执行模型
2008/04/28 Javascript
jquery获取tr并更改tr内容示例代码
2014/02/13 Javascript
如何书写高质量jQuery代码(使用jquery性能问题)
2014/06/30 Javascript
JavaScript组件焦点与页内锚点间传值的方法
2015/02/02 Javascript
jQuery实现首页顶部可伸缩广告特效代码
2015/04/15 Javascript
jQuery实现Email邮箱地址自动补全功能代码
2015/11/03 Javascript
基于jQuery实现拖拽图标到回收站并删除功能
2015/11/25 Javascript
postman自定义函数实现 时间函数的思路详解
2019/04/17 Javascript
node省市区三级数据性能测评实例分析
2019/11/06 Javascript
vue路由缓存的几种实现方式小结
2020/02/02 Javascript
js实现时间日期校验
2020/05/26 Javascript
使用BeautifulSoup爬虫程序获取百度搜索结果的标题和url示例
2014/01/19 Python
从零学Python之hello world
2014/05/21 Python
使用Python的PEAK来适配协议的教程
2015/04/14 Python
对numpy中轴与维度的理解
2018/04/18 Python
Python 实现在文件中的每一行添加一个逗号
2018/04/29 Python
Django中如何使用sass的方法步骤
2019/07/09 Python
tensorflow使用range_input_producer多线程读取数据实例
2020/01/20 Python
Python 执行矩阵与线性代数运算
2020/08/01 Python
CSS3为背景图设置遮罩并解决遮罩样式继承问题
2020/06/22 HTML / CSS
英国领先的男士美容护发用品公司:Mankind
2016/08/31 全球购物
DHC美国官网:日本通信销售第一的化妆品品牌
2017/11/12 全球购物
巴西女装购物网站:Eclectic
2018/04/24 全球购物
塑料制成的可水洗的编织平底鞋和鞋子:Rothy’s
2018/09/16 全球购物
面向对象编程是如何提高软件开发水平的
2014/05/06 面试题
判断单链表中是否存在环
2012/07/16 面试题
《生命的药方》教学反思
2014/04/08 职场文书
小学班级特色活动方案
2014/08/31 职场文书
刑事和解协议书范本
2014/11/19 职场文书
自愿离婚协议书2015
2015/01/26 职场文书
获奖感言怎么写
2015/07/31 职场文书
2019最新版试用期劳动合同模板!
2019/07/04 职场文书
详解MongoDB的条件查询和排序
2021/06/23 MongoDB