<input name="htmlCode" id="htmlCode" type="text" class="fl_input" size="36" />
<input type="button" value="获取短信验证码" οnclick="getVerify(this)"/>
<script type="text/javascript">
//获取验证码开始
var nums = 120;
var clock = '';
var btn;
function getVerify(thisBtn){
var mobile = $("#item_consult_phone").val();
if(mobile==""){
alert("请输入手机号码!");
document.all.item_consult_phone.focus();
return false;
}
if(mobile!=""){
var reg = /^([0-9]{11})?$/;
var flag = reg.test(mobile);
if(!flag){
alert("请输入正确的手机号码格式!");
document.all.item_consult_phone.focus();
return false;
}else{
var flag = true;
$.ajax({
async: false,
type: "POST",
cache: false,
url: "sms!getVerify.action",
data: {
mobile:mobile
},
dataType:"json",
success: function(result){
if(result == "1"){
alert("短信验证码已成功发送至您的手机,请将其填写在输入框!");
}else{
flag = false;
alert("短信验证码发送失败!");
}
}
});
btn = thisBtn;
btn.disabled = true; //将按钮置为不可点击
btn.value = nums+'秒后可重新获取';
clock = setInterval(doLoop, 1000); //一秒执行一次
return flag;
}
}
}
function doLoop() {
nums--;
if(nums > 0){
btn.value = nums+'秒后可重新获取';
}else{
clearInterval(clock); //清除js定时器
btn.disabled = false;
btn.value = '点击发送验证码';
nums = 120; //重置时间
}
}
</script>
后台部分代码:
// 生成6位随机数验证码
String verifyTemp = (Math.random()*9+1)*100000+"";
String verify = verifyTemp.substring(0,6);
String mobile = request.getParameter("mobile");
session.setAttribute("verify",verify);
result = SendSMS.send(mobile, "您的验证码为:"+verify+",此验证码30分钟内有效。", "1");