验证码
<s>新手机号:<input id="tel_phone" name="tel_phone" type="text" onblur="checkphone();"/></s>
<i>验证码:<input name="RandCode" id="RandCode" type="text"/></i>
<h2><a id="btnSendCode" onclick="return sendMessage()">获取验证码</a></h2><br/>
//验证手机号码是否正确
function isMoblie(tel) {
var reg = /^1((3[0-9])||(5[0-9])||(8[0-9]))\d{8}$/g;
if (!reg.test(tel)) {
return false;
} else {
return true;
}
}
function checkphone(){
var phone = $('#tel_phone').val();
if($.trim(phone) == ''){
alert("手机号不能为空");
$("#tel_phone").focus();
return false;
}
if (!isMoblie(phone)) {
alert("手机号码不正确");
$('#tel_phone').val('')
$("#tel_phone").focus();
return false;
}
var result=true;
$.ajax({
type: "GET", //用POST方式传输
dataType: "json", //数据格式:JSON
url: '/checkPhone', //目标地址
data : {
phone : phone
},
success : function(data) {
var message = decodeURI(data.message);
var result = data.result;
if (result =='false'){
alert(message);
result = false;
$('#tel_phone').val('')
$("#tel_phone").focus();
}
},
error : function() {
alert('校验验证码错误,请检查');
return false;
}
}); return result;
}
var InterValObj; //timer变量,控制时间
var count = 60; //间隔函数,1秒执行
var curCount;//当前剩余秒数
var codeLength = 6;//验证码长度
function sendMessage() {
curCount = count;
var phone = $('#tel_phone').val();//手机号码
var CertType = "00";
if(!checkphone()){
$("#tel_phone").focus();
return false;
}else{
//设置button效果,开始计时
$("#btnSendCode").removeAttr("onclick");
$("#btnSendCode").text(curCount + "s");
InterValObj = window.setInterval(SetRemainTime, 1000); //启动计时器,1秒执行一次
//向后台发送处理数据
$.ajax({
type: "GET", //用POST方式传输
dataType: "json", //数据格式:JSON
url: '/binding/sendCode', //目标地址
data : {
phone : phone,
certType : CertType
},
success : function(data) {
var message = decodeURI(data.message);
if (message)
alert(message);
},
error : function() {
alert('短信验证码发送失败,请重新发送');
return false;
}
});
}
}
//timer处理函数
function SetRemainTime() {
if (curCount == 0) {
window.clearInterval(InterValObj);//停止计时器
$("#btnSendCode").attr("onclick","sendMessage()");//启用按钮
$("#btnSendCode").text("重获验证码");
}
else {
curCount--;
$("#btnSendCode").text(curCount + "s");
}
}