获取随机数字和字母字符串的最短代码

24 浏览
0 Comments

获取随机数字和字母字符串的最短代码

这个问题已经有了答案:

在JavaScript中生成随机字符串/字符

我现在使用 Math.random(),它返回一些数字,如0.7183306051883847

这个函数有一些不好的地方:

  • 开头是0.
  • 没有选项可以设置数字的符号长度
  • 没有选项可以添加字母到字符串中

我想知道,生成类似于以下字符串的最短代码(例如,期望的字符长度-6)

  1. 2en81u
  2. 39438s
  3. ldksfn

谢谢。

admin 更改状态以发布 2023年5月20日
0
0 Comments
function randomString() {
    var chars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz";
    var string_length = 8;
    var randomstring = '';
    for (var i = 0; i < string_length; i++) {
        var rnum = Math.floor(Math.random() * chars.length);
        randomstring += chars[rnum];
    }
    return randomstring;
}

的中文意思是:加粗的文本“123”。

0
0 Comments

这应该是最简短的。如果需要转成大写,只需在尾部加上额外的.toUpperCase()调用。

Math.random().toString(36).substring(3,9)

已更新

这个版本有点长,但它确实避免了一些特殊有理数可能长度不够的问题。

(+new Date * Math.random()).toString(36).substring(0,6)  

0