这个案例其实很简单,只有两个点需要注意,那就是首先需要取得6~18之间的随机数;其次就是在字符串里也需要随机获取字符
思路:
- 首先,设置一个函数,用来获取6~18之间的整数,并获得其数值a
- 其次,设置有一个产生随机字符的函数,利用for循环依次获得并将a作为for循环的边界值传入
- 最后,定义一个空的字符串来接收每次获得的随机字符即可
//获取某一范围内的随机整数函数
function getRandom(n, m) {
n = Math.ceil(n);
m = Math.floor(m);
return Math.floor(Math.random() * (m - n)) + n;
}
let length = getRandom(6, 18);
// console.log(length);
function getRandomStr() {
let strs = 'abcdefghigklmnopqrstuvwxyzABCDEFGHIGKLMNOPQRSTUVWXWZ0123456789-_';
let newStrs = '';
for (let i = 0; i < length; i++) {
//产生一个0-64之间的随机字符下标,以便于取随机字符
let index = getRandom(0, 64);
// console.log(index);
//产生一个随机字符
let tempStr = strs[index];
newStrs += tempStr;
}
return newStrs;
}
console.log(getRandomStr());