使用 JavaScript (Node.js) 验证 TimeUuid
Validating TimeUuid using JavaScript (Node.js)
我想验证 uuid 字符串以确保它是有效的时间 uuid(即检查字符串是否为时间 uuid 的测试)。
例如:一个请求进来的id是这样的,作为一个字符串:54d890dc-40a5-4686-8d7e-095e3934d99e
(这是uuid v4),有什么办法可以测试这个uuid是否是时间uuid(v1)或不(uuid v4)?
您可以使用正则表达式:
例如
const index = [
// UUID v1:
/^[0-9A-F]{8}-[0-9A-F]{4}-[1][0-9A-F]{3}-[89AB][0-9A-F]{3}-[0-9A-F]{12}$/i
// UUID v2:
/^[0-9A-F]{8}-[0-9A-F]{4}-[2][0-9A-F]{3}-[89AB][0-9A-F]{3}-[0-9A-F]{12}$/i
// UUID v3:
/^[0-9A-F]{8}-[0-9A-F]{4}-[3][0-9A-F]{3}-[89AB][0-9A-F]{3}-[0-9A-F]{12}$/i
// UUID v4:
/^[0-9A-F]{8}-[0-9A-F]{4}-[4][0-9A-F]{3}-[89AB][0-9A-F]{3}-[0-9A-F]{12}$/i
//UUID v5:
/^[0-9A-F]{8}-[0-9A-F]{4}-[5][0-9A-F]{3}-[89AB][0-9A-F]{3}-[0-9A-F]{12}$/i
].findIndex(x => x.test(stringToTest));
console.log(index === -1 ? 'Unknown UUID' : `UUID version ${index + 1}`);
Here 关于 UUID 正则表达式
我想验证 uuid 字符串以确保它是有效的时间 uuid(即检查字符串是否为时间 uuid 的测试)。
例如:一个请求进来的id是这样的,作为一个字符串:54d890dc-40a5-4686-8d7e-095e3934d99e
(这是uuid v4),有什么办法可以测试这个uuid是否是时间uuid(v1)或不(uuid v4)?
您可以使用正则表达式:
例如
const index = [
// UUID v1:
/^[0-9A-F]{8}-[0-9A-F]{4}-[1][0-9A-F]{3}-[89AB][0-9A-F]{3}-[0-9A-F]{12}$/i
// UUID v2:
/^[0-9A-F]{8}-[0-9A-F]{4}-[2][0-9A-F]{3}-[89AB][0-9A-F]{3}-[0-9A-F]{12}$/i
// UUID v3:
/^[0-9A-F]{8}-[0-9A-F]{4}-[3][0-9A-F]{3}-[89AB][0-9A-F]{3}-[0-9A-F]{12}$/i
// UUID v4:
/^[0-9A-F]{8}-[0-9A-F]{4}-[4][0-9A-F]{3}-[89AB][0-9A-F]{3}-[0-9A-F]{12}$/i
//UUID v5:
/^[0-9A-F]{8}-[0-9A-F]{4}-[5][0-9A-F]{3}-[89AB][0-9A-F]{3}-[0-9A-F]{12}$/i
].findIndex(x => x.test(stringToTest));
console.log(index === -1 ? 'Unknown UUID' : `UUID version ${index + 1}`);
Here 关于 UUID 正则表达式