Generation of verification code
##1. Verification of basic information
<?php $(document).ready(function() { $("#yzmfs").click(function () { //确保手机号不为空 var mobile=$("#phone").val(); if(mobile.length==0) { alert('请输入手机号码!'); $("#phone").focus(); return false; } if(mobile.length!=11) { alert('请输入11位手机号!'); $("#phone").focus(); return false; } var myreg = /^((1[3|4|5|8][0-9]{1})+\d{8})$/; if(!myreg.test(mobile)) { alert('请输入正确的手机号码!'); document.getElementById("phone").focus(); return false; } //点击发送短信验证码 }) })
#2, click to send the SMS verification code and a 60-second countdown appears in js:
<script type="text/javascript"> var countdown=60; function settime(obj){ //60秒倒计时 if (countdown == 0){ obj.removeAttribute("disabled"); obj.value="发送短信验证码"; countdown = 60; return; }else{ obj.setAttribute("disabled", true); obj.value="重新发送(" + countdown + ")"; countdown--; } setTimeout(function() { settime(obj) } ,1000) } </script>
3, Ajax realizes the generation of verification code
First introduce the jquery file
<script src="jquery -1.11.0.js" type="text/javascript"></script>
##<?php
//点击发送短信验证码
$.ajax({
async : false,
type: "get",
url: "code.php", //
data: {},
success: function (data) {
$("#code").val(data);
}
});
4, create a new code.php ajax request to return data
and perform base64 encryption on the verification code. The code is as follows:<?php
$code_len=4;
$code=array_merge(range('A','Z'),range('a','z'),range(1,9));//需要用到的数字或字母
$keyCode=array_rand($code,$code_len);//真正的验证码对应的$code的键值
if($code_len==1){
$keyCode=array($keyCode);
}
shuffle($keyCode);//打乱数组
$verifyCode="";
foreach ($keyCode as $key){
$verifyCode.=$code[$key];//真正验证码
}
echo base64_encode($verifyCode);