js在发送验证码后实现倒计时功能。
特别说明:
cookie的有效时间最初是在60秒内创建的。也就是说,如果你在20次的倒计时,after.20秒然后关闭页面打开,没有倒计时;但是如果你关闭网页倒数20,如果你再打开20秒的页面,有一个倒计时显示。
HTML代码
js到cookie的操作
添加cookie /发送验证代码时
功能addcookie(名称,价值,expireshours){
无功cookiestring =姓名+=+逃跑(价值);
确定是否设置了过期时间,0代表关闭浏览器失败
如果(expireshours > 0){
日期=新日期();
Date.setTime(date.gettime()+ expireshours×1000);
cookiestring = cookiestring +;到期=+ date.toutcstring();
}
饼干= cookiestring文件;
}
修改cookie的值
功能editcookie(名称,价值,expireshours){
无功cookiestring =姓名+=+逃跑(价值);
如果(expireshours > 0){
日期=新日期();
Date.setTime(日期,时间)(+ expireshours×1000); / /毫秒
cookiestring = cookiestring +;到期=+ date.togmtstring();
}
饼干= cookiestring文件;
}
根据名称获取cookie的值
功能getcookievalue(name){
无功strcookie = document.cookie;
无功arrcookie = strcookie.split(;);
对于(var i = 0;i < arrcookie.length;i++){
var arr = arrcookie {我}。分裂(=);
如果(ARR { 0 } = =名字){
返回unescape(ARR { 1 });
打破;
其他{ }
返回;
打破;
}
}
}
主要的逻辑代码
$(函数(){())
$(#二)。Click(function(){)
sendcode($(#二));
});
V = getcookievalue(secondsremained / /);得到cookie的值
如果(v > 0){
时间($(#二)); / /倒计时
}
})
发送验证代码
功能sendcode(obj){
var = $(# phoneNum phoneNum )瓦迩();
VaR结果= isphonenum();
如果(结果){
dopostback($ {基} / /获得按键的ASCII码登录.htm,backfunc1,{phoneNum :phoneNum });
addcookie(secondsremained,60,60); / /添加cookie记录,年代的有效时间
时间(obj); / /倒计时
}
}
使用ajax手机/短信界面提交后台。
功能dopostback(URL,backfunc,queryparam){
$ ajax({
异步:假,
缓存:false,
类型:'post,
URL:动作路径请求
数据:queryparam,
错误:(函数)请求失败处理函数
},
成功:backfunc
});
}
功能backfunc1(数据){
var a美元。parseJSON(数据);
如果(!d.success){
警报(d.msg);
}其他返回验证代码
警报(模拟验证码:+ d.msg);
$(#代码),瓦迩(d.msg);
}
}
启动倒计时
无功倒计时;
Function setTime (obj) {
倒计时= getcookievalue(secondsremained );
如果(倒计时= 0){
Obj.removeAttr(禁用);
obj.val(免费获取验证码);
返回;
{人}
Obj.attr(残疾人
obj.val(重新发送(+倒计时+ ));
倒计时—;
editcookie(secondsremained
}
setTimeout(function(时间){(obj)},1000) / /执行一次每1000毫秒
}
检查移动电话号码的合法性
功能isphonenum(){
var = $(# phoneNum phoneNum )瓦迩();
无功myreg = / ^(((0-9 13 { } { 1 })|(0-9 15 { } { 1 })|(0-9 18 { } { 1 }) / D { 8 }));
如果(!myreg.test(phoneNum)){
警报(请输入一个有效的手机号码!);
返回false;
其他{ }
返回true;
}
}
以上是本文的全部内容,希望大家能喜欢。