在JavaScript中生成随机字符串

Generate random string in JavaScript

本文关键字:随机 字符串 JavaScript      更新时间:2023-09-26

我想使用Node.JS将此Python代码转换为JavaScript,以便在我的应用程序中使用它。我如何在Node.JS JavaScript中做到这一点。

当前Python代码:

import random
import string
chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'
ERC = []
for i in list(range(15)):
    ERC[i] = '-'.join(''.join(random.choice(chars) for i in range(5)) for i in range(4))

上面的代码从变量中获取随机字符,该变量充当我想要使用的字母数字字符的白名单,格式是由5个随机字符组成的4段,用短划线分隔。我看过并找到了随机的js,但我还没有发现它能很好地满足我的需求。我需要一些类似node randomstring的东西,但字母字符是大写的。Math.random()对我不起作用,因为它返回0到1之间的数字。

最终输出的一个示例(来自我的代码)看起来像SY51R-APE9S-WM8ZC-L3ZP2

要选择随机字符,只需执行

chars[Math.floor(Math.random() * chars.length)]

我在这里找到了完整的答案:在特定范围内用JavaScript生成随机整数?

虽然@tané-techion提供的答案很好,但它并不像相关问题的答案那样随机。

function getRandomInt(min, max) {
    return Math.floor(Math.random() * (max - min + 1)) + min;
}