jQuery实现倒计时重新发送短信验证码功能示例
发布时间 - 2026-01-10 22:28:08 点击率:次本文实例讲述了jQuery实现倒计时重新发送短信验证码功能的方法。分享给大家供大家参考,具体如下:
<!DOCTYPE html>
<html>
<head>
<script src="http://libs.baidu.com/jquery/1.10.2/jquery.min.js"></script>
<script type="text/javascript">
var countdown=60;
function settime(obj) {
if (countdown == 0) {
obj.removeAttribute("disabled");
obj.value="免费获取验证码";
countdown = 60;
return;
} else {
obj.setAttribute("disabled", true);
obj.value="重新发送(" + countdown + ")";
countdown--;
}
setTimeout(function() {
settime(obj) }
,1000)
}
</script>
<body>
<input type="button" id="btn" value="免费获取验证码" onclick="settime(this)" />
</body>
</html>
实践例子:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>抢占iPhone7专属预订名额</title>
<link rel="stylesheet" href="getiphone.css" />
</head>
<body style="width: 100%;height: 100%;background:#fff url(iponeImg/beijing.png) no-repeat center fixed;background-size:100% 100%;text-align: center;">
<div class="top">
<img src="iponeImg/wenan.png" />
</div>
<h1 class="title"><span></span>上市时间同步发售<span></span><br />首批新苹果30个预订专属名额</h1>
<form id="activityForm" class="form-horizontal" method="post" action="/wamei/activityController/save.htm">
<label>
<span><img src="iponeImg/yonghu.png" /></span>
<i></i>
<input type="text" class="inline-input" id="name" name="name" placeholder="请输入您的真实姓名" datatype="*1-20" errormsg="姓名最多20个中英文字符!" nullmsg="请输入您的真实姓名!" />
</label>
<label>
<span><img src="iponeImg/dianhua.png" /></span>
<i></i>
<input type="text" class="inline-input" id="mobilePhone" name="mobilePhone" placeholder="请输入您的手机号码" datatype="*" errormsg="请输入您的手机号码!" nullmsg="请输入您的手机号码!" />
</label>
<label>
<span><img src="iponeImg/yanzhengma.png" /></span>
<i></i>
<input type="text" id="validateCode" class="inline-input" name="validateCode" placeholder="验证码" datatype="*" errormsg="请输入验证码!" nullmsg="请输入验证码!" style="width:180px;" />
<a id="num" mark="1" >获取验证码</a>
</label>
<label id="get">
<input id="confirm" type="submit" value="提交抢占名额" />
</label>
<label>
<a href="/wamei/pages/activity/details.html" id="activity">查看活动详情</a>
</label>
</form>
<div class="bottom">
<span></span>
<img src="iponeImg/logo.png" />
<span></span>
</div>
<div id="success">
<div class="successImg">
<a class="close"></a>
<p><img src="iponeImg/chenggong.png" />恭喜提交成功</p>
<p style="padding-top: 0px;font-size: 23px;">分享一下,安抚激动的心</p>
</div>
</div>
</body>
</html>
<!-- scripts -->
<script src="/wamei/pages/js/jquery.min.js"></script>
<script src="/wamei/pages/js/jquery.form.js"></script>
<script src="/wamei/pages/js/bootstrap.min.js"></script>
<script src="/wamei/pages/js/Validform_v5.3.2.js"></script>
<script type="text/javascript">
$(function(){
//提交表单
$("#activityForm").Validform({
btnSubmit:"#confirm",
tiptype:function(msg){
if(msg != '' && msg!='通过信息验证!'){
alert(msg);
}
},
tipSweep:true,
beforeSubmit:function(){
saveForm();
return false;
}
});
});
//只允许在APP内打开
function isMobile(){
var u = navigator.userAgent;
var mobileFlag = u.indexOf('type/tfbrowser') > -1;
return mobileFlag;
}
//手机号码验证
$("#mobilePhone").blur(function(){
var mobilePhone =$("#mobilePhone").val();
var myreg = /^(((13[0-9]{1})|(14[0-9]{1})|(17[0]{1})|(15[0-3]{1})|(15[5-9]{1})|(18[0-9]{1}))+\d{8})$/;
if(mobilePhone){
if(!myreg.test(mobilePhone)){
alert("请输入有效的手机号码!");
$("#mobilePhone").val("");
return ;
}
}
});
//发送短信验证码
$("#num").click(function(){
var mobilePhone =$("#mobilePhone").val();
var url="/wamei/activityController/sendValidCode.htm";
if(!mobilePhone){
alert("请输入您的手机号码!");
return ;
}
var mark = $("#num").attr("mark");
if("1"==mark){
settime(this);
$.post(url,{mobilePhone:mobilePhone},function(html){
var data = eval("("+html+")");
if(data && data.statusCode==1){
console.log("send success!");
alert("短信验证码已发送,请查收!");
}else{
alert(data.msg);
}
});
}
});
//提交form表单
function saveForm(){
$("#activityForm").ajaxSubmit({
//data: {'columnStr':columnStr},
type: 'post',
async: false,
success: function($data) {
var data = eval("("+$data+")");
if(data && data.statusCode==1){
$("#success").show();
}else{
alert(data.msg);
$("#mobilePhone").val("");
}
}
});
}
$(".close").click(function(){
$("#success").hide();
window.location.reload();
})
//短信后倒计时
var countdown=60;
function settime(obj) {
if (countdown == 0) {
$(obj).attr("disabled",false);
$(obj).attr("mark","1");
$(obj).html("获取验证码");
countdown = 60;
return;
} else {
$(obj).attr("disabled", true);
$(obj).attr("mark","0");
$(obj).html("重新发送(" + countdown + ")");
countdown--;
}
setTimeout(function() {
settime(obj) }
,1000)
}
// $("#confirm").click(function(){
// $("#success").show();
// })
</script>
PS:这里再为大家提供2款非常方便的正则表达式工具供大家参考使用:
JavaScript正则表达式在线测试工具:
http://tools./regex/javascript
正则表达式在线生成工具:
http://tools./regex/create_reg
更多关于jQuery相关内容感兴趣的读者可查看本站专题:《jQuery日期与时间操作技巧总结》、《jQuery扩展技巧总结》、《jQuery常用插件及用法总结》、《jQuery表格(table)操作技巧汇总》、《jquery中Ajax用法总结》及《jquery选择器用法总结》
希望本文所述对大家jQuery程序设计有所帮助。
# jQuery
# 倒计时
# 重新发送
# 短信
# 验证码
# jQuery实现发送验证码并60秒倒计时功能
# 基于jQuery实现发送短信验证码后的倒计时功能(无视页面关闭)
# jQuery实现的手机发送验证码倒计时效果代码分享
# jquery实现手机发送验证码的倒计时代码
# jQuery实现发送验证码控制按钮禁用功能
# 请输入
# 您的
# 表单
# 真实姓名
# 正则表达式
# 操作技巧
# 相关内容
# 最多
# 感兴趣
# 英文
# 给大家
# 首批
# 更多关于
# 所述
# 上市时间
# 程序设计
# 发送短信
# 只允许
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
百度输入法ai组件怎么删除 百度输入法ai组件移除工具
什么是javascript作用域_全局和局部作用域有什么区别?
JS弹性运动实现方法分析
非常酷的网站设计制作软件,酷培ai教育官方网站?
怎么制作一个起泡网,水泡粪全漏粪育肥舍冬季氨气超过25ppm,可以有哪些措施降低舍内氨气水平?
如何用搬瓦工VPS快速搭建个人网站?
Edge浏览器如何截图和滚动截图_微软Edge网页捕获功能使用教程【技巧】
Laravel Debugbar怎么安装_Laravel调试工具栏配置指南
如何利用DOS批处理实现定时关机操作详解
专业型网站制作公司有哪些,我设计专业的,谁给推荐几个设计师兼职类的网站?
Swift开发中switch语句值绑定模式
大学网站设计制作软件有哪些,如何将网站制作成自己app?
如何自定义safari浏览器工具栏?个性化设置safari浏览器界面教程【技巧】
C#如何调用原生C++ COM对象详解
制作企业网站建设方案,怎样建设一个公司网站?
Android使用GridView实现日历的简单功能
Laravel的Blade指令怎么自定义_创建你自己的Laravel Blade Directives
零服务器AI建站解决方案:快速部署与云端平台低成本实践
PHP 实现电台节目表的智能时间匹配与今日/明日轮播逻辑
Laravel怎么进行浏览器测试_Laravel Dusk自动化浏览器测试入门
如何在建站之星网店版论坛获取技术支持?
Claude怎样写约束型提示词_Claude约束提示词写法【教程】
Angular 表单中正确绑定输入值以确保提交与验证正常工作
Laravel如何实现全文搜索_Laravel Scout集成Algolia或Meilisearch教程
如何快速重置建站主机并恢复默认配置?
Laravel怎么配置不同环境的数据库_Laravel本地测试与生产环境动态切换【方法】
移动端脚本框架Hammer.js
ChatGPT常用指令模板大全 新手快速上手的万能Prompt合集
如何在HTML表单中获取用户输入并结合JavaScript动态控制复利计算循环
HTML5打空格有哪些误区_新手常犯的空格使用错误【技巧】
Laravel如何集成Inertia.js与Vue/React?(安装配置)
如何在万网ECS上快速搭建专属网站?
如何用PHP快速搭建CMS系统?
Laravel怎么调用外部API_Laravel Http Client客户端使用
佐糖AI抠图怎样调整抠图精度_佐糖AI精度调整与放大细化操作【攻略】
Laravel如何实现图片防盗链功能_Laravel中间件验证Referer来源请求【方案】
Laravel怎么进行数据库回滚_Laravel Migration数据库版本控制与回滚操作
Python文件操作最佳实践_稳定性说明【指导】
php8.4header发送头信息失败怎么办_php8.4header函数问题解决【解答】
郑州企业网站制作公司,郑州招聘网站有哪些?
Win11关机界面怎么改_Win11自定义关机画面设置【工具】
专业商城网站制作公司有哪些,pi商城官网是哪个?
Laravel如何实现URL美化Slug功能_Laravel使用eloquent-sluggable生成别名【方法】
Win11搜索不到蓝牙耳机怎么办 Win11蓝牙驱动更新修复【详解】
php后缀怎么变mp4格式错误_修改扩展名提示格式不对怎么办【技巧】
Windows Hello人脸识别突然无法使用
详解CentOS6.5 安装 MySQL5.1.71的方法
Laravel怎么配置自定义表前缀_Laravel数据库迁移与Eloquent表名映射【步骤】
html5如何实现懒加载图片_ intersectionobserver api用法【教程】
实例解析angularjs的filter过滤器

