gpt4 book ai didi

javascript - 生成随机的 6 个字符的小写字符串

转载 作者:行者123 更新时间:2023-11-30 17:19:13 24 4
gpt4 key购买 nike

我见过许多与此类似的问题,但没有一个具有完全相同的标准。

我想生成一个由 6 个字符组成的短字符串,仅由小写字母和数字组成(最好不包含字母“o”和数字 0)。

字符串必须是唯一的,因为它将用作 URL 的一部分。我一直在使用以下内容,但每次生成的字符串都很相似,我希望它们看起来非常不同。

(+new Date()).toString(36); //actually creates 8 letter string and includes o & 0

示例:查看 JS fiddle 并单击“保存”- 使用随机、唯一、非顺序 ID 更新 url。 (本例中为 8 个字符)

有什么建议吗?

最佳答案

我正在使用这种结构来生成随机字符串:

Math.random().toString(36).slice(2);

如果使用 slice(0, 6) 改进它,您将获得 6 个字符的随机字符串:

Math.random().toString(36).slice(2).slice(0, 6);
Math.random().toString(36).slice(2, 8);

但是你不能生成随机字符串并确保它是唯一的。生成的字符串总是有可能不是唯一的,所以这是不好的做法。

UPD:如果你想使用Date,当然,你可以:

Date.now().toString(36).slice(0, 6);

对于这个变体,我不能保证它是唯一的。

如果你想删除 0O 那么你可以像这样使用 smth:

Date.now().toString(36).slice(0, 6).replace(/[o,O,0]+/g, '-');

在这里,我将小写字母 o、大写字母 O 和数字 0 替换为破折号。你可以使用你想要的。

UPD:如果您想要唯一值,则不需要切片字符串:

Date.now().toString(36).replace(/[o,O,0]+/g, '-');

关于javascript - 生成随机的 6 个字符的小写字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25482229/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com