目前,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
...确保您有一个规范格式的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