首页 > 解决方案 > js密码生成器,如何将返回值组合在一个字符串中

问题描述

所以我想做的是,生成一个随机字符/数字并将其连接到一个字符串并将它们组合在一起。我可以用上面的代码得到一个随机字符/数字,但不知道如何将它们加入一个字符串。len由用户输入,代表字符串的长度(所以如果输入5,随机字符串需要5个字符长)

    function createPassword() {
        var len= document.getElementById('length').value;

        for (let i=0; i<len.length; i++) {
            var random= Math.floor(Math.random()*94)+33
            var char = String.fromCharCode(random)
            var password=''
            password+=char[i]

            console.log(password)
        }
    }

标签: javascript

解决方案


您只需要在循环外声明密码变量

  • len 应该是数字,所以不需要 len.length,只需要 len
  • char[i] - 只使用 char,所以我们可以让它变成一行,没有实际的 char 变量 password+=String.fromCharCode(random)

我建议提供 len 作为参数,所以只需调用

console.log( createPassword(16) )

这里函数本身

function createPassword(len){
    var password = '';//declare

    for(let i=0; i<len; i++){
        var random = Math.floor(Math.random()*94)+33
        password += String.fromCharCode(random)
    }

    return password;
}

推荐阅读