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 相关文章推荐
jquery显示隐藏input对象
Jul 21 Javascript
js实现微信分享代码
Oct 11 Javascript
基于JS实现无缝滚动思路及代码分享
Jun 07 Javascript
javascript 面向对象function详解及实例代码
Feb 28 Javascript
jquery中封装函数传递当前元素的方法示例
May 05 jQuery
解决vue中使用swiper插件问题及swiper在vue中的用法
Apr 04 Javascript
Koa2微信公众号开发之消息管理
May 16 Javascript
微信小程序实现留言板(Storage)
Nov 02 Javascript
Vue强制组件重新渲染的方法讨论
Feb 03 Javascript
Element中Slider滑块的具体使用
Jul 29 Javascript
vue使用节流函数的踩坑实例指南
May 20 Vue.js
js作用域及作用域链工作引擎
Jul 07 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
新安装的MySQL数据库需要注意的安全知识
2008/07/30 PHP
PHP实现变色验证码实例
2014/01/06 PHP
php数字运算验证码的实现代码
2015/07/30 PHP
thinkphp ajaxfileupload实现异步上传图片的示例
2017/08/28 PHP
使用PHP+MySql实现微信投票功能实例代码
2017/09/29 PHP
PHP常用函数之根据生日计算年龄功能示例
2019/10/21 PHP
javascript之大字符串的连接的StringBuffer 类
2007/05/08 Javascript
jQuery学习笔记之DOM对象和jQuery对象
2010/12/22 Javascript
在子窗口中关闭父窗口的一句代码
2013/10/21 Javascript
jQuery中on()方法用法实例详解
2015/02/06 Javascript
jQuery实现的多屏图像图层切换效果实例
2015/05/07 Javascript
JS组件系列之Bootstrap table表格组件神器【二、父子表和行列调序】
2016/05/10 Javascript
AngularJS 应用身份认证的技巧总结
2016/11/07 Javascript
详解JavaScript时间处理之几个月前或几个月后的指定日期
2016/12/21 Javascript
微信小程序 特效菜单抽屉效果实例代码
2017/01/11 Javascript
angularjs定时任务的设置与清除示例
2017/06/02 Javascript
javascript实现循环广告条效果
2017/12/12 Javascript
微信小程序中添加客服按钮contact-button功能
2018/04/27 Javascript
JavaScript设计模式之单例模式原理与用法实例分析
2018/07/26 Javascript
基于Koa(nodejs框架)对json文件进行增删改查的示例代码
2019/02/02 NodeJs
Postman动态获取返回值过程详解
2020/06/30 Javascript
TensorFlow打印tensor值的实现方法
2018/07/27 Python
Python实现简单的用户交互方法详解
2018/09/25 Python
flask-restful使用总结
2018/12/04 Python
Python实现时间序列可视化的方法
2019/08/06 Python
关于python中plt.hist参数的使用详解
2019/11/28 Python
Python 生成VOC格式的标签实例
2020/03/10 Python
Python代码注释规范代码实例解析
2020/08/14 Python
CSS3使用transition属性实现过渡效果
2018/04/18 HTML / CSS
HTML5拖放API实现自动生成相框功能
2020/04/07 HTML / CSS
荷兰家电销售网站:Welhof
2020/12/08 全球购物
《小山羊和小灰兔》教学反思
2014/02/19 职场文书
村支部书记群众路线对照检查材料思想汇报
2014/10/08 职场文书
答辩状格式范本
2015/05/22 职场文书
父亲节感言
2015/08/03 职场文书
Docker 镜像介绍以及commit相关操作
2022/04/13 Servers