如何检查变量是否包含有效的 UUID/GUID 标识符?
我目前只对验证类型 1 和 4 感兴趣,但这不应该成为您答案的限制。
原文由 Marek Sebera 发布,翻译遵循 CC BY-SA 4.0 许可协议
如何检查变量是否包含有效的 UUID/GUID 标识符?
我目前只对验证类型 1 和 4 感兴趣,但这不应该成为您答案的限制。
原文由 Marek Sebera 发布,翻译遵循 CC BY-SA 4.0 许可协议
如果你想检查或验证特定的 UUID 版本,这里是相应的正则表达式。
请注意, 唯一的区别是版本号,这在
4.1.3. Version
UUID 4122 RFC 的章节中有解释。
版本号是第三组的第一个字符: [VERSION_NUMBER][0-9A-F]{3}
:
/^[0-9A-F]{8}-[0-9A-F]{4}-[1][0-9A-F]{3}-[89AB][0-9A-F]{3}-[0-9A-F]{12}$/i
/^[0-9A-F]{8}-[0-9A-F]{4}-[2][0-9A-F]{3}-[89AB][0-9A-F]{3}-[0-9A-F]{12}$/i
/^[0-9A-F]{8}-[0-9A-F]{4}-[3][0-9A-F]{3}-[89AB][0-9A-F]{3}-[0-9A-F]{12}$/i
/^[0-9A-F]{8}-[0-9A-F]{4}-[4][0-9A-F]{3}-[89AB][0-9A-F]{3}-[0-9A-F]{12}$/i
/^[0-9A-F]{8}-[0-9A-F]{4}-[5][0-9A-F]{3}-[89AB][0-9A-F]{3}-[0-9A-F]{12}$/i
原文由 Ivan Gabriele 发布,翻译遵循 CC BY-SA 3.0 许可协议
13 回答13k 阅读
7 回答2.1k 阅读
3 回答1.3k 阅读✓ 已解决
6 回答1.2k 阅读✓ 已解决
2 回答1.4k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
6 回答1.1k 阅读
目前,UUID 在 RFC4122 中指定。一个经常被忽视的边缘情况是 NIL UUID,注意 这里。以下正则表达式考虑了这一点,并将返回 NIL UUID 的匹配项。有关仅接受非 NIL UUID 的 UUID,请参见下文。这两种解决方案都适用于版本 1 到 5(参见第三块的第一个字符)。
因此,要验证 UUID…
…确保您有一个规范格式的 UUID,它是版本 1 到 5,并且是符合 RFC4122 的适当变体。
注意:大括号
{
和}
不是规范的。它们是某些系统和用法的产物。轻松修改上述正则表达式以满足原始问题的要求。
提示:正则表达式组/捕获
为避免匹配 NIL UUID: