0

我想验证一个 uuid 字符串以确保它是一个有效的时间 uuid(即检查字符串是否为时间 uuid 的测试)。

例如:一个请求带有一个像这样的id,作为一个字符串:(54d890dc-40a5-4686-8d7e-095e3934d99e这是uuid v4),有没有办法测试这个uuid是否是一个时间uuid(v1)或不是(uuid v4)?

4

1 回答 1

1

您可以使用正则表达式:

例如

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}`);

这里关于 UUID 正则表达式

于 2017-09-12T15:19:06.587 回答