如何检查变量是否包含有效的UUID/GUID标识符
我目前只对验证类型1和类型4感兴趣,但这不应该限制您的答案
目前,UUID如RFC4122所述。一个经常被忽略的边缘情况是NIL-UUID,这里提到。下面的正则表达式考虑了这一点,并将返回一个与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
…确保您拥有一个规范格式的UUID,该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