2行代码生成包含大小写字母和数字的随机字符串
本文由 小茗同学 发表于 2020-05-11 浏览(4126)
最后修改 2021-03-25 标签:随机

2行代码生成指定长度字符串

/**
 * 生成长度为len的包含a-z、A-Z、0-9的随机字符串
 */
function generateStr(len = 18) {
	// 一行代码生成0-9、A-Z、a-z、总长度为62的字符数组
	var arr = [...new Array(62)].map((item, i) => String.fromCharCode(i + (i < 10 ? 0 : (i < 36 ? 7 : 13)) + 48));
	return [...new Array(len)].map(() => arr[Math.floor(Math.random() * arr.length)]).join('');
}

1行代码生成指定长度数字

这种方法有缺点,低概率会出现位数不足的问题(原因是0.00566 * 100000 = 566,会丢失前面的0),不推荐使用。

// len 最多16,可能出现
function generateNum(len = 16) {
	return Math.floor(Math.random() * Math.pow(10, len));
}