JS實現(xiàn)驗證碼倒計時的注冊頁面
更新時間:2018年01月02日 14:09:53 作者:祈澈姑娘
這篇文章給大家分享一段實例代碼發(fā)送驗證碼之后開始60S倒計時功能,具體實例代碼大家參考下本文
原型圖
需求:手機(jī)號驗證
發(fā)送驗證碼之后開始60S倒計時
60s以后如果沒有填寫驗證碼,可重新發(fā)送
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>注冊</title>
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no">
<meta name="format-detection" content="telephone=no">
<meta name="renderer" content="webkit">
<meta http-equiv="Cache-Control" content="no-siteapp" />
<script src="http://code.jquery.com/jquery-latest.js";></script>
</head>
<body>
<input type="text" id="phone" class="am-form-field my-radius" placeholder="請輸入手機(jī)號" style="">
<div style="height:2rem;">
<font id="errMsg1" color="red" style=""></font>
</div>
<div>
<input id="rpcode" type="text" placeholder="請輸入驗證碼">
<input id="getCode" type="button" value="獲取驗證碼" onclick="sendMessages()"></input>
<font id="errMsg2" color="red" style="display:none; position:absolution; top:2rem;"></font>
</div>
<p id="start">
<span>開始</span>
</p>
<!-- 保存驗證碼 -->
<input type="text" id="code" hidden="true">
<script>
var InterValObj; //timer變量,控制時間
var count = 60; //間隔函數(shù),1秒執(zhí)行
var curCount; //當(dāng)前剩余秒數(shù)
var code = ""; //驗證碼
var codeLength = 6; //驗證碼長度
function sendMessages() {
curCount = count;
var phone = $("#phone").val()
if(validatePhone(phone)) {
return;
}
if(phone != "") {
//設(shè)置button效果,開始計時
$("#getCode").attr("disabled", "true");
$("#getCode").val("請在" + curCount + "秒內(nèi)輸入");
InterValObj = window.setInterval(SetRemainTimes, 1000); //啟動計時器,1秒執(zhí)行一次
//向后臺發(fā)送處理數(shù)據(jù)
$.ajax({
url: "getCode.action",
dataType: "json",
type: "get",
data: "phone=" + phone,
success: function(data) {
//保存驗證碼
$("#code").val(data);
}
});
} else {
alert("手機(jī)號碼不能為空?。。。。?!");
}
}
//timer處理函數(shù)
function SetRemainTimes() {
if(curCount == 0) {
window.clearInterval(InterValObj); //停止計時器
$("#getCode").removeAttr("disabled"); //啟用按鈕
$("#getCode").val("重新發(fā)送驗證碼");
code = ""; //清除驗證碼。如果不清除,過時間后,輸入收到的驗證碼依然有效
} else {
curCount--;
$("#getCode").val("請在" + curCount + "秒內(nèi)輸入");
}
}
//開始按鈕點擊事件
$("#start").click(function() {
window.location.href = "regafter.html?phone=" + $("#phone").val();
})
//驗證手機(jī)號
function validatePhone(phone) {
if(phone == '') {
$("#errMsg1").html(" 請先填寫手機(jī)號");
$("#errMsg1").show();
return true;
}
var myreg = /^(((13[0-9]{1})|(15[0-9]{1})|(18[0-9]{1}))+\d{8})$/;
if(!myreg.test(phone)) {
$("#errMsg1").html(" 請輸入有效的手機(jī)號");
$("#errMsg1").show();
return true;
}
return false;
}
//驗證碼非空和錯誤驗證
function validateCode() {
var phone = $("#phone").val();
var code = $("#code").val();
var rpcode = $("#rpcode").val();
if(validatePhone(phone)) {
return true;
}
if(code == '') {
$("#errMsg2").html(" 請先獲取驗證碼");
$("#errMsg2").show();
return true;
}
if(rpcode == '' || code != rpcode) {
$("#errMsg2").html(" 請正確輸入驗證碼");
$("#errMsg2").show();
return true;
}
alert(code != rpcode);
return false;
}
$("#phone").on("focus", function() {
$("#errMsg1").hide();
})
$("#rpcode").on("focus", function() {
$("#errMsg2").hide();
})
</script>
</body>
</html>
您可能感興趣的文章:
- 用javascript制作qq注冊動態(tài)頁面
- jsp+dao+bean+servlet(MVC模式)實現(xiàn)簡單用戶登錄和注冊頁面
- 使用JSP實現(xiàn)簡單的用戶登錄注冊頁面示例代碼解析
- JS一個簡單的注冊頁面實例
- JavaScript 完成注冊頁面表單校驗的實例
- node.js實現(xiàn)登錄注冊頁面
- 原生js驗證簡潔注冊登錄頁面
- js正則表達(dá)式注冊頁面表單驗證
- js當(dāng)前頁面登錄注冊框,固定div,底層陰影的實例代碼
- JS當(dāng)前頁面登錄注冊框,固定DIV,底層陰影的實例代碼
- javascript實現(xiàn)信息的顯示和隱藏如注冊頁面
- php用戶注冊頁面利用js進(jìn)行表單驗證具體實例
- JS、CSS和HTML實現(xiàn)注冊頁面
相關(guān)文章
Sublime?Text?3插件Minify的安裝與使用(js代碼壓縮)
這篇文章主要介紹了Sublime?Text?3插件Minify的安裝與使用(js代碼壓縮),本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-01-01
基于JavaScript實現(xiàn)一定時間后去執(zhí)行一個函數(shù)
在實際需要中可能需要規(guī)定在指定的時間之后再去執(zhí)行一個函數(shù)以達(dá)成期望的目的,這也就是一個定時器效果,本文給大家介紹基于JavaScript實現(xiàn)一定時間后去執(zhí)行一個函數(shù)的相關(guān)知識,感興趣的朋友一起學(xué)習(xí)吧2015-12-12
JavaScript循環(huán)遍歷的24個方法,你都知道嗎
這篇文章主要給大家介紹了關(guān)于JavaScript循環(huán)遍歷的24個方法,文中對每種方法都給出了詳細(xì)的實例代碼,方便大家理解學(xué)習(xí),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2021-09-09

