- 假设验证码由26个大写字母和26小写字母还有数字0-9的62位字符串组成
var vertifyOrg = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'
- 得到六位随机数
for(var i = 0;i<6;i++){vertifyOrg[random]}
将每一个循环得到的随机字符存到验证码中 var vertify = ''; for(var i = 0;i<6;i++){vertify += vertifyOrg[random]}
- 随机每一个random 。random应该在0-61索引值之间,使用随机数将random随机到0-61。
var random = Math.random()
在0.00000000xx-0.999999xx之间 Math.random()62 ==0.000000000xx到620.999999xxx=0.000000000xx到62*(1-0.000000000xx)=0.0000000xx到61.xxxxxxx之间。向下取整 即可得到0-61之间的随机数 。如果验证码字符串不仅仅是62个的话,在算随机数范围的时候就应该给随机数*字符串长度才对 - 以下是源代码
<!-- 生成6位数的随机验证码 -->
<script>
var vertify = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'
//0-vertify.length-1 suiji
var sd = '';
for (var i = 0; i < 6; i++) {
//向下取整
var random = Math.floor( Math.random() * (vertify.length));
//1:初始化验证码 空字符 res长度为6
sd += vertify[random];
}
console.log(sd);
//2:获取vertify中每一个字符
</script>