Проверка TimeUuid с использованием JavaScript (Node.js)

Я хотел бы проверить строку uuid, чтобы убедиться, что это правильный uuid времени (т. Е. Тест для проверки, является ли строка временным uuid).

Например: запрос приходит с таким идентификатором, как строка: 54d890dc-40a5-4686-8d7e-095e3934d99e (это uuid v4), есть ли способ проверить, является ли этот uuid временным uuid (v1) или нет (uuid v4)?

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 регулярное выражение

Другие вопросы по тегам