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

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

最佳答案

当前,UUID如RFC4122中所指定。一个经常被忽略的边缘情况是NIL UUID,记为here。以下正则表达式考虑到了这一点,并将返回NIL UUID的匹配项。请参阅以下有关仅接受非NIL UUID的UUID。这两种解决方案均适用于版本1至5(请参见第三个模块的第一个字符)。

因此,要验证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

...确保您拥有规范版本1至5的UUID,并且是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/

10-11 07:24