随机生成四位数字字母混合验证码
首先要获取数字和字母
数字可以用 random 函数随机生成0-9之间的数字,字母用 ASCII 码转换
还有一个地方需要注意:要生成四位验证码,有三种可随机的值,如果要使其中一种再重复一次那就不是随机验证码(有人为的干预)
所以有以下两种方法提供给大家参考
第一种:双重随机 先随机出让哪个重复一次,再随机生成四位验证码
第二种:产生随机字符库:字符库里数字、大写字母、小写字母数量相同,然后从字符库中随机抽取4个即可
这里我们选用第二种
// 范围随机数
function random(max,min){
return Math.round(Math.random()*(max-min)+min);
}
function randomStr(){ //封装,以便日后使用。
//创建一个空字符,用于存放随机数/字母
var strData = "";
//生成随机字符库 (验证码四位,随机数三种,取公倍数12,所以循环4次。也可以是120次,1200次。)
for(var i=0;i<4;i++){
var num = random(0,9);//生成0-9的随机数
var az = String.fromCharCode(random(97,122));//生成a-z
var AZ = String.fromCharCode(random(65,90));//生成A-Z
strData = strData + num + az + AZ;//将生成的字符进行字符串拼接
}
// 开始真正的随机(从随机字符库中随机取出四个)
var str = "";
for(var i=0;i<4;i++){
str += strData[random(0,strData.length-1)]
}
// console.log(str)
return str;
}
randomStr();