相关代码
import { NIL } from "uuid";
/** 验证UUID
* 为空 则返回 false
* @param uuid
* @returns {boolean}
*/
export function MyUUIDValidate(uuid: any): boolean {
if (typeof uuid === "string" && uuid !== NIL) { //uuid !== NIL 判断是否是默认值0000
const reg = new RegExp(
/[0123456789abcdef]{8}-[0123456789abcdef]{4}-4[0123456789abcdef]{3}-[0123456789abcdef]{4}-[0123456789abcdef]{12}/
);
return reg.test(uuid);
} else {
return false;
}
}
console.log(MyUUIDValidate("00000000-0000-0000-0000-000000000000")) //false
console.log(MyUUIDValidate("d6fd0e0b-a232-46ef-89c6-08dcc89c48b1")) //true
const reg = new RegExp(
/[0123456789abcdef]{8}-[0123456789abcdef]{4}-4[0123456789abcdef]{3}-[0123456789abcdef]{4}-[0123456789abcdef]{12}/
正则解析:
该 TypeScript 代码创建了一个正则表达式 reg,用于匹配 UUID(通用唯一识别码)格式的字符串。具体规则如下:
匹配 8 个十六进制数字。
跟一个连字符 -。
接着匹配 4 个十六进制数字。
再跟一个连字符 -。
然后是4
加上 3 个十六进制数字。
继续跟一个连字符 -。
接下来匹配 4 个十六进制数字。
最后再跟一个连字符 -。
最终匹配 12 个十六进制数字。