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 检测、添加、移除样式(className)函数代码
Sep 08 Javascript
Jquery 表单验证类介绍与实例
Jun 09 Javascript
js实现显示当前状态的导航效果代码
Aug 28 Javascript
Angular 理解module和injector,即依赖注入
Sep 07 Javascript
jQuery Validate插件自定义验证规则的方法
Dec 27 Javascript
微信小程序开发中的疑问解答汇总
Jul 03 Javascript
利用ES6实现单例模式及其应用详解
Dec 09 Javascript
Angular中使用better-scroll插件的方法
Mar 27 Javascript
jQuery实现图片上传预览效果功能完整实例【测试可用】
May 28 jQuery
vue组件 keep-alive 和 transition 使用详解
Oct 11 Javascript
JavaScript简易计算器制作
Jan 17 Javascript
JavaScript实现栈结构详细过程
Dec 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
1 Tube Radio
2021/03/02 无线电
php上传文件的增强函数
2010/07/21 PHP
比较详细PHP生成静态页面教程
2012/01/10 PHP
php实现aes加密类分享
2014/02/16 PHP
PHP实现加密文本文件并限制特定页面的存取的效果
2016/10/21 PHP
php实现留言板功能(会话控制)
2017/05/23 PHP
ThinkPHP 5 AJAX跨域请求头设置实现过程解析
2020/10/28 PHP
防止网站内容被拷贝的一些方法与优缺点好处与坏处分析
2007/11/30 Javascript
基于jquery实现漂亮的动态信息提示效果
2011/08/02 Javascript
关于JavaScript中原型继承中的一点思考
2012/07/25 Javascript
分享精心挑选的12款优秀jQuery Ajax分页插件和教程
2012/08/09 Javascript
转义字符(\)对JavaScript中JSON.parse的影响概述
2013/07/17 Javascript
javascritp添加url参数将参数加入到url中
2014/09/25 Javascript
nodejs 整合kindEditor实现图片上传
2015/02/03 NodeJs
jquery实现向下滑出的二级导航下滑菜单效果
2015/08/25 Javascript
javascript中闭包(Closure)详解
2016/01/06 Javascript
jQuery中判断对象是否存在的方法汇总
2016/02/24 Javascript
一种Javascript解释ajax返回的json的好方法(推荐)
2016/06/02 Javascript
p5.js 毕达哥拉斯树的实现代码
2018/03/23 Javascript
解决LayUI加上form.render()下拉框和单选以及复选框不出来的问题
2019/09/27 Javascript
vue:el-input输入时限制输入的类型操作
2020/08/05 Javascript
用Python3创建httpServer的简单方法
2018/06/04 Python
python中copy()与deepcopy()的区别小结
2018/08/03 Python
Python计算时间间隔(精确到微妙)的代码实例
2019/02/26 Python
Python基本数据结构与用法详解【列表、元组、集合、字典】
2019/03/23 Python
Python3.5基础之变量、数据结构、条件和循环语句、break与continue语句实例详解
2019/04/26 Python
Python和Sublime整合过程图示
2019/12/25 Python
应届毕业生个人求职信范文
2014/01/29 职场文书
函授自我鉴定范文
2014/02/06 职场文书
党员个人剖析材料(四风问题)
2014/10/07 职场文书
2015年幼儿园元旦亲子活动方案
2014/12/09 职场文书
公务员政审材料范文
2014/12/23 职场文书
导游词之桂林山水
2019/09/20 职场文书
《围炉夜话》110句人生箴言,精辟有内涵,引人深思
2019/10/23 职场文书
如何理解及使用Python闭包
2021/06/01 Python
golang用type-switch判断interface的实际存储类型
2022/04/14 Golang