【发布时间】:2021-05-16 04:54:12
【问题描述】:
我想在 JavaScript 中生成唯一 ID。我试过 uuid npm 包,很好但是不是我想要的。
例如,我从 uuid 包生成唯一 ID 得到的结果是
9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d
有没有什么方法可以制作出我想要的特定格式。
例如,我希望我的 ID 看起来像这样
XZ5678
在此示例中,格式为两个大写字母和 4 个数字。
就是这样,我正在寻找答案,并提前谢谢大家。
【问题讨论】:
-
您是否尝试过编写自己的解决方案?没有您的帮助,我们无法提供代码。
-
对于数字部分,在后备数据库中将 ID 生成为递增整数可能是最简单的。相反,您可能会在该数据库中寻找解决方案,以了解如何在此类标识符中包含字母。
-
大卫说得对。 UUID 是唯一的,因为几乎不可能生成重复。但是保证
XZ5678方案的唯一性是困难的,因为只有大约 700 万个可能的值。仅生成 370 个 ID 后,重复的几率为 1/100。 1200后,1/10! -
我还没有尝试任何解决方案。我参与了我的项目架构的制作。这将是一个小型的前端项目,因为我刚刚学习了 JS,在此之前我做了 1 个。用户将能够在此应用程序中创建发票。并且发票不能与一些已经存在的发票具有相同的 ID。所以我不在乎多个用户是否为某些发票获得相同的 ID。要点是,对于具有相同 ID 的用户,不应有 2 张发票。将没有数据库,创建的发票将存储在浏览器的本地存储中。这只是炫耀项目,我怀疑有人会创建 100 张发票。
-
您能否将其基于用户 ID、发票记录 ID 和/或日期?
标签: javascript package unique uuid