没有短划线/连字符的UUID是否有效?

Kar*_*rol 10 uuid cryptography

我想编写简单的正则表达式来验证UUID,但我不确定这个小细节.

维基百科说:

UUID由32个小写十六进制数字表示,显示在由连字符分隔的五个组中,格式为8-4-4-4-12,总共36个字符(32个字母数字字符和4个连字符).

但是在RFC规范文档中找不到类似的东西.

所以问题仍然是这个UUID是否有效:f47ac10b58cc4372a5670e02b2c3d479?

Ole*_*hin 12

在生产RFC 4122(第3节,第4页),定义UUID字符串表示

UUID = time-low "-" time-mid "-"
       time-high-and-version "-"
       clock-seq-and-reserved
       clock-seq-low "-" node
Run Code Online (Sandbox Code Playgroud)

其中每个内部组件都是十六进制编码的.

因此,f47ac10b58cc4372a5670e02b2c3d479不是有效的UUID表示.

  • 我正在阅读该文档,但是从第4节开始,因为我认为正式定义不包含我正在寻找的信息 - 但确实如此.如果您已阅读整篇文档 - 对您有好处,但就像指出一样,无论谁提出JS问题,都应阅读整个MDN文档.这有点毫无意义,所以提出这样的问题是完美的,因为也许有人已经做过这件事,可以节省你很多时间. (6认同)