Regex cho UUID

Dùng /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$/ để kiểm tra xem toàn bộ chuỗi có phải là UUID hợp lệ hay không. Mọi ví dụ bên dưới đều đã được kiểm thử với mẫu này, và bạn có thể mở chúng trong Regex Tester với sẵn dữ liệu mẫu.

Cập nhật

/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$/
Mở trong Regex Tester
Đầu vàoKết quả
123e4567-e89b-12d3-a456-426614174000✓ Khớp
550e8400-e29b-41d4-a716-446655440000✓ Khớp
01890a5d-ac96-774b-bcce-b302099a8057✓ Khớp
123e4567e89b12d3a456426614174000✗ Không khớp
123e4567-e89b-02d3-a456-426614174000✗ Không khớp
zzzzzzzz-e89b-12d3-a456-426614174000✗ Không khớp

Mẫu hoạt động như thế nào

PhầnÝ nghĩa
[0-9a-fA-F]{8}Tám chữ số thập lục phân
[1-8][0-9a-fA-F]{3}Nhóm thứ ba bắt đầu bằng số phiên bản, từ 1–8
[89abAB][0-9a-fA-F]{3}Nhóm thứ tư bắt đầu bằng biến thể theo RFC 9562: 8, 9, a hoặc b
[0-9a-fA-F]{12}Mười hai chữ số thập lục phân ở cuối
-Dấu gạch ngang ở các vị trí 8-4-4-4-12

Ví dụ mã

JavaScript

const re = /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$/;
re.test(value); // true or false

Python

import re

bool(re.fullmatch(r'[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}', value))

PHP

preg_match('/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$/', $value) === 1;

Lưu ý và giới hạn

Nếu chỉ muốn chấp nhận UUID phiên bản 4 (ngẫu nhiên), hãy đổi [1-8] thành 4. Bạn có thể tạo giá trị kiểm thử bằng UUID Generator.

Câu hỏi thường gặp

Regex cho UUID là gì?
/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$/ — mẫu này khớp với toàn bộ chuỗi. Xem bảng ở trên để biết từng phần làm gì.
Những ví dụ nào khớp?
Trong các ví dụ đã kiểm thử, những chuỗi sau khớp: 123e4567-e89b-12d3-a456-426614174000, 550e8400-e29b-41d4-a716-446655440000, 01890a5d-ac96-774b-bcce-b302099a8057. Các chuỗi còn lại thì không.
Làm sao để kiểm thử regex này?
Nhấn “Mở trong Regex Tester” — mẫu, cờ và văn bản mẫu sẽ tự động được tải, và kết quả khớp sẽ được tô sáng khi bạn chỉnh sửa.