最近做了一个系统的短信验证与登录的功能,这里简述一下实现方法。
前端方面,像众多系统一样,jsp页面上有两个输入栏,一栏输入手机号,一栏输入验证码,输入验证码邮编是点击发送验证码,点击之后开始60s倒计时。且用js写好对手机号规则验证的正则表达式。js还有两个核心方法,一个是点击发送验证码时调用后端controller中的messageSend方法,一个是点击提交时调用后端controller中的checkVcode方法。核心代码如下:
$('.hmac').on('click',function(){
if(!/^(13[0-9]|15[012356789]|17[0-9]|18[0-9]|14[57])[0-9]{8}|(170[059])[0-9]{6}$/i.test($('#phone').val())){
layer.msg("请输入正确的手机号");
return ;
}
var codeflag = 60;
if(phoneflag == 1&&codeflag==60){
var timeflag = setInterval(function(){
codeflag--;
if(codeflag>0){
$('.hmac').val('重新发送'+codeflag+'s');
$('.hmac').css({'color':'#99897A','border':'1px solid #99897A'});
$('.hmac').attr('disabled','disabled');
}else{
codeflag=60;
$('.hmac').val('获取验证码');
$('.hmac').css({'color':'#68371D'});
$('.hmac').removeAttr('disabled');
clearInterval(timeflag);
}
},1000);
BaseUtils.ajaxAction_nomsg("login/messageSend", {
phone:$('#phone').val()
}, {
success: function(data) {
//alert(dat