700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 生成随机密码(包含字母 数字 特殊字符)

生成随机密码(包含字母 数字 特殊字符)

时间:2021-09-16 00:03:58

相关推荐

生成随机密码(包含字母 数字 特殊字符)

/** [generatePassword] 随机生成密码* [length] 密码长度* [lower] 是否含有小写字母* [upper] 是否含有大写字母* [number] 是否含有数字* [symbol] 是否含有特殊字符*/export function generatePassword(length, lower, upper, number, symbol) {let generatedPassword = ''const typesCount = lower + upper + number + symbolconst typesArr = [{lower }, {upper }, {number }, {symbol }].filter(item => Object.values(item)[0])if (typesCount === 0) {return ''}for (let i = 0; i < length; i++) {typesArr.forEach(type => {const funcName = Object.keys(type)[0]generatedPassword += randomFunc[funcName]()})}// 生成密码后可以打乱顺序再return,生成乱序的密码return generatedPassword.slice(0, length)}// 字母数字特殊字符随机函数const randomFunc = {lower: getRandomLower,upper: getRandomUpper,number: getRandomNumber,symbol: getRandomSymbol}function getRandomLower() {return String.fromCharCode(Math.floor(Math.random() * 26) + 97)}function getRandomUpper() {return String.fromCharCode(Math.floor(Math.random() * 26) + 65)}function getRandomNumber() {return String.fromCharCode(Math.floor(Math.random() * 10) + 48)}function getRandomSymbol() {// 这里的特殊字符可以根据需要,自己添加const symbols = '~!@#$%^&*()_+{}":?><;.,'return symbols[Math.floor(Math.random() * symbols.length)]}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。