如何产生的在Javascript字母和数字的随机字符串? [重复](How to generat

2019-08-31 14:25发布

这个问题已经在这里有一个答案:

  • 在JavaScript中随机字母数字字符串? [重复] 17个答案

我一直用这个代码:

function stringGen()
{
    var text = " ";

    var charset = "abcdefghijklmnopqrstuvwxyz0123456789";

    for( var i=0; i < len; i++ )
        text += charset.charAt(Math.floor(Math.random() * charset.length));

    return text;
}

但到目前为止,它一直没有工作,喜欢在所有。 我究竟做错了什么?

提前谢谢你的帮助

Answer 1:

你错过了参数len

 function stringGen(len) { var text = ""; var charset = "abcdefghijklmnopqrstuvwxyz0123456789"; for (var i = 0; i < len; i++) text += charset.charAt(Math.floor(Math.random() * charset.length)); return text; } console.log(stringGen(3)); 

这将使你像“a1z”。



Answer 2:

一个漂亮的一行是:

Math.random().toString(36).substr(2, length)

或者,如果你需要一个STR比10/11个字符:

function generateRandAlphaNumStr(len) {
  var rdmString = "";
  for( ; rdmString.length < len; rdmString  += Math.random().toString(36).substr(2));
  return  rdmString.substr(0, len);

}


Answer 3:

正如替代:

var len = 20,
    str = '';

while( len-- ) {
    str += String.fromCharCode( 48 + ~~(Math.random() * 42) );
}

console.log( str );


Answer 4:

你LEN变量是不确定的。 无论是在将它作为参数,或者其设置的东西。

function stringGen(len)
{
    var text = " ";

    var charset = "abcdefghijklmnopqrstuvwxyz0123456789";

    for( var i=0; i < len; i++ )
        text += charset.charAt(Math.floor(Math.random() * charset.length));

    return text;
}
alert(stringGen(5));

http://jsfiddle.net/rg7Z3/



文章来源: How to generate a random string of letters and numbers in Javascript? [duplicate]