数字字母混合验证码(数字+大写字母+小写字母)
首先我们要确定数字、大写字母和小写字母在unicode编码中的范围 :
48 ~ 57 数字 65 ~ 90 大写字母 97 ~ 122 小写字母;
然后我们封装一个生成范围随机数的函数并测试
function getRandomInt( min , max ){
return min + parseInt( Math.random() * (max - min + 1));
}
var res = getRandomInt( 50 , 100);
console.log(res);
我们使用switch方法实现随机产生一个范围,然后调用随机数方法产生一个Unicode码并使用fromCharCode()进行字符转换,成功取得一位数字或者字母
function getValidateString(){
var min,max;
switch(getRandomInt( 1 , 3 )){
case 1 :
min = 48;
max = 57;
break;
case 2 :
min = 65;
max = 90;
break;
case 3 :
min = 97;
max = 122;
break;
}
var randomInt = getRandomInt(min , max);
var randomString = String.fromCharCode(randomInt);
console.log(randomString)
}
getValidateString()
循环代码进行拼接实现验证码的生成
完整代码
function getRandomInt( min , max ){
return min + parseInt( Math.random() * (max - min + 1));
}
function getValidateString(){
var min,max;
var res = "";
for(var i = 0 ; i < 4 ; i ++){
switch(getRandomInt( 1 , 3 )){
case 1 :
min = 48;
max = 57;
break;
case 2 :
min = 65;
max = 90;
break;
case 3 :
min = 97;
max = 122;
break;
}
var randomInt = getRandomInt(min , max);
res += String.fromCharCode(randomInt);
}
return res;
}
var res = getValidateString();
console.log(res);