javascript - 如何测试有效的 UUID/GUID?

标签 javascript regex validation uuid guid

如何检查变量是否包含有效的 UUID/GUID 标识符?

我目前只对验证类型 1 和 4 感兴趣,但这不应该限制您的答案。

最佳答案

目前,UUID 是在 RFC4122 中指定的。一个经常被忽视的边缘情况是 NIL UUID,注意到 here .以下正则表达式考虑了这一点,并将返回 NIL UUID 的匹配项。有关仅接受非 NIL UUID 的 UUID,请参见下文。这两种解决方案都适用于版本 1 到 5(参见第三 block 的第一个字符)。

因此要验证 UUID...

/^[0-9a-f]{8}-[0-9a-f]{4}-[0-5][0-9a-f]{3}-[089ab][0-9a-f]{3}-[0-9a-f]{12}$/i

...确保您有一个规范格式的 UUID,它是版本 1 到 5,并且是符合 RFC4122 的适当变体。

注意:大括号 {} 不是规范的。它们是某些系统和用法的产物。

很容易修改上面的正则表达式来满足原问题的要求。

提示:正则表达式组/捕获

为了避免匹配 NIL UUID:

/^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i

关于javascript - 如何测试有效的 UUID/GUID?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7905929/

相关文章:

javascript - Redux-React : How to pass the updated state to function onChange?

regex - HTML5 模式匹配和 MinLength 文本框问题 -

ruby-on-rails - Ruby on Rails密码验证

java - 如何在 Java 中编写这个正则表达式(单词后跟数字)?

java - 美国电话号码验证问题

javascript - 编辑 :before from Javascript 的 CSS 内容

javascript - v-for 使操作应用于所有 div

javascript - Symfony app_dev.php install\DOMDomain 错误

python - 在字符串匹配后替换特定字符

用于相似性检查的 PHP 正则表达式