美文网首页
生成含有大小写字母、数字、特殊字符的密码字符串.js

生成含有大小写字母、数字、特殊字符的密码字符串.js

作者: 风烟一纸 | 来源:发表于2020-09-16 16:57 被阅读0次
const lowerLetterArr = [
    'a',
    'b',
    'c',
    'd',
    'e',
    'f',
    'g',
    'h',
    'i',
    'j',
    'k',
    'l',
    'm',
    'n',
    'o',
    'p',
    'q',
    'r',
    's',
    't',
    'u',
    'v',
    'w',
    'x',
    'y',
    'z',
]

const upperLetterArr = [
    'A',
    'B',
    'C',
    'D',
    'E',
    'F',
    'G',
    'H',
    'I',
    'J',
    'K',
    'L',
    'M',
    'N',
    'O',
    'P',
    'Q',
    'R',
    'S',
    'T',
    'U',
    'V',
    'W',
    'X',
    'Y',
    'Z',
]

const numberArr = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9']
const specialArr = [
    '~',
    '!',
    '@',
    '#',
    '$',
    '%',
    '^',
    '&',
    '*',
    '(',
    ')',
    '-',
    '_',
    '+',
    '=',
    '?',
    '/',
    ';',
    '<',
    '>',
    '{',
    '}',
    '|',
    '\\',
    '[',
    ']',
    '.',
]
/**
 * 生成密码字符串
 * @param lowerLetterNum 小写字母个数
 * @param upperLetterNum 大写字母个数
 * @param numberNum 数字个数
 * @param specialNum 特殊字符个数
 */

function getPassWord(lowerLetterNum, upperLetterNum, numberNum, specialNum) {
    let password = '' //生成的密码
    // 数组长度
    let lowerLetterArrLeng = lowerLetterArr.length
    let numberArrLeng = numberArr.length
    let specialArrLeng = specialArr.length
    let upperLetterArrLeng = upperLetterArr.length

    function randomNum(length) {
        // 随机生成不超过数组长度的整数
        return Math.floor(Math.random() * length)
    }

    for (let i = lowerLetterNum; i > 0; i--) {
        // 小写
        let x = randomNum(lowerLetterArrLeng)
        password += lowerLetterArr[x]
    }

    for (let j = upperLetterNum; j > 0; j--) {
        // 大写
        let y = randomNum(upperLetterArrLeng)
        password += upperLetterArr[y]
    }

    for (let m = numberNum; m > 0; m--) {
        // 数字
        let z = randomNum(numberArrLeng)
        password += numberArr[z]
    }

    for (let n = specialNum; n > 0; n--) {
        // 特殊字符
        let s = randomNum(specialArrLeng)
        password += specialArr[s]
    }
    // 返回生成的密码
    return password
}


相关文章

网友评论

      本文标题:生成含有大小写字母、数字、特殊字符的密码字符串.js

      本文链接:https://www.haomeiwen.com/subject/zxhhyktx.html