JS随机生成密码 (至少包含一个大写字母,小写字母,数字,特殊符号)
// js生成随机密码函数
function randomPassword(length) {
length = Number(length)
// 最小生成密码长度
if (length < 6) {
length = 6
} else if (length > 16) {
length = 16
}
let passwordArray = ['ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz', '1234567890', '!@#$%&*()'];
var password = [];
let n = 0;
for (let i = 0; i < length; i++) {
// 如果密码长度小于 9,则所有值随机
if ( password.length < (length - 4) ) {
// 获取随机密码数组索引
let arrayRandom = Math.floor(Math.random() * 4);
// 获取密码数组值
let passwordItem = passwordArray[arrayRandom];
// 获取密码数组值随机索引
// 获取随机实值
let item = passwordItem[Math.floor(Math.random() * passwordItem.length)];
password.push(item);
} else {
// 如果密码大,则为9,则最新的4个密码将根据随机密码索引推入
// 按顺序获取数组值
let newItem = passwordArray[n];
let lastItem = newItem[Math.floor(Math.random() * newItem.length)];
// 获取阵列拼接索引
let spliceIndex = Math.floor(Math.random() * password.length);
password.splice(spliceIndex, 0, lastItem);
n++
}
}
return password.join("");
}