不多ββ先上代码
![d95e5c6811d63b4700c5af90c2835672.png](https://i-blog.csdnimg.cn/blog_migrate/f777039bc4e78b863b30626eb1cc0f4d.jpeg)
- 首先先创建一个 verification(n) 的函数方法,传进去的参数 n 表示到时候返回验证码的长度;
function verification(n) {
- 再在循环开始之前创建一个接收每个随机数的数组
var arr = [];
- 开始循环,循环n个随机数
for (var i = 0; i < n; i++) {
- 新建一个变量接收 = 取整(随机生成0到9的随机数包含小数点 * 122位)为什么乘以122看下图,ASCLL码表小写z代表的值是122。
var type = parseInt(Math.random() * 122)
![1ebd1710aa23bb145737b7fe39436175.png](https://i-blog.csdnimg.cn/blog_migrate/4249ab962bd0d1bee5d0e62dcda02296.jpeg)
ASCLL码表
5.接着第一个判断,大于0并且小于9,这里是为了判断是不是数字。如果是数字就把它添加到数组中
if(type >= 0 && type <= 9){
arr.push(type);
6.第二个判断是不是大写A到Z的69-90 或者 小写a到z的97-122; 如果是 用String.fromCharCode(type)这个方法可以转成ascll表中对应的字母,并添加到数组中
}else if(type >= 65 && type <= 90 || type >= 97 && type <= 122){
arr.push(String.fromCharCode(type));
7.第三个判断,如果不是数字也不是字母,i--,让他重新循环一次
}else{
i--;
}//判断结束
}//循环结束
8.最后循环结束把数组中的每个数字和字母,用join连接起来成字符串并返回
return arr.join("");
}
9. console.log(verification(6));
最后输出一次试试