Thư Viện Regex

Tổng hợp các mẫu biểu thức chính quy tối ưu cho mọi tình huống lập trình, xử lý file và xác thực dữ liệu.

Bảng Cú Pháp Nhanh (Cheat Sheet)

Khớp Ký Tự Cơ Bản

. : Bất kỳ ký tự nào trừ xuống dòng

\d / \D : Chữ số / Không phải chữ số

\w / \W : Ký tự chữ/số/gạch dưới

\s / \S : Khoảng trắng / Không phải khoảng trắng

Số Lượng (Quantifiers)

* : Xuất hiện 0 hoặc nhiều lần

+ : Xuất hiện 1 hoặc nhiều lần

? : Xuất hiện 0 hoặc 1 lần

{n,m} : Từ n đến m lần lặp

Neo & Ranh Giới (Anchors)

^ : Bắt đầu chuỗi kiểm tra

$ : Kết thúc chuỗi kiểm tra

\b : Ranh giới từ (word boundary)

Tập Hợp & Nhóm

[abc] : Một ký tự nằm trong tập

[^abc] : Không nằm trong tập

(abc) : Nhóm bắt giữ (capturing group)

a|b : Toán tử HOẶC (alternation)

Thư Viện Tình Huống Thực Tế

Email chuẩn quốc tế Liên lạc
^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$
Khớp các định dạng email phổ biến (VD: [email protected])
Số điện thoại di động VN (10 số) Liên lạc
^(03|05|07|08|09|01[2|6|8|9])+([0-9]{8})$
Khớp toàn bộ các đầu số di động mới tại Việt Nam
Căn cước công dân (12 số) Giấy tờ
^\d{12}$
Kiểm tra mã định danh cá nhân 12 chữ số
Chứng minh nhân dân cũ (9 số) Giấy tờ
^\d{9}$
Kiểm tra CMND cũ 9 chữ số
Cả CCCD (12 số) và CMND (9 số) Giấy tờ
^(\d{9}|\d{12})$
Dùng chung cho cả 2 loại giấy tờ tùy thân
Mã số thuế cá nhân / doanh nghiệp Tài chính
^\d{10}(-\d{3})?$
Khớp mã số thuế 10 số hoặc kèm 3 số phụ
Mật khẩu mạnh bảo mật cao Bảo mật
^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&]{8,}$
Ít nhất 8 ký tự, có chữ hoa, chữ thường, số và ký tự đặc biệt
Tên đăng nhập (Username) Hệ thống
^[a-zA-Z0-9_-]{4,20}$
Từ 4-20 ký tự gồm chữ, số, gạch dưới và gạch ngang
Hộ chiếu Việt Nam Giấy tờ
^[A-Z]\d{7}$
Bắt đầu bằng 1 chữ cái in hoa theo sau là 7 chữ số
Mã bưu chính Việt Nam (ZIP/Postal Code) Hành chính
^\d{6}$
Mã bưu chính chuẩn 6 chữ số mới tại các tỉnh thành
Đường dẫn URL Website (HTTP/HTTPS) Web
^https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_\+.~#?&//=]*)$
Kiểm tra tính hợp lệ của đường dẫn trang web
Địa chỉ IPv4 chuẩn Mạng
^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$
Khớp dải IP từ 0.0.0.0 đến 255.255.255.255
Địa chỉ MAC Address Mạng
^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$
Khớp địa chỉ vật lý card mạng (MAC)
Cổng mạng Port (1 - 65535) Mạng
^([1-9][0-9]{0,3}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5])$
Kiểm tra giá trị cổng mạng hợp lệ trên hệ thống
Thẻ HTML Tags cơ bản Web
<\/?[a-z][a-z0-9]*[^<>]*>
Nhận diện các thẻ mở và thẻ đóng HTML trong văn bản
Thuộc tính href trong thẻ a Web
href="([^"]*)"
Trích xuất đường dẫn liên kết bên trong thẻ <a>
Tên miền Domain hợp lệ Web
^([a-zA-Z0-9]([a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,}$
Khớp các tên miền cấp 1, cấp 2 (domain.com, sub.domain.vn)
Mã màu HEX (CSS) UI/UX
^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$
Khớp mã màu thiết kế dạng #fff hoặc #ffffff
Định dạng Ngày tháng (DD/MM/YYYY) Thời gian
^(0[1-9]|[12][0-9]|3[01])\/(0[1-9]|1[012])\/\d{4}$
Kiểm tra chuỗi ngày tháng chuẩn Việt Nam
Định dạng Ngày tháng (YYYY-MM-DD) Thời gian
^\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])$
Kiểm tra chuỗi định dạng chuẩn ISO cơ sở dữ liệu
Giờ phút giây định dạng 24h (HH:MM:SS) Thời gian
^([01]\d|2[0-3]):([0-5]\d):([0-5]\d)$
Khớp thời gian trong ngày từ 00:00:00 đến 23:59:59
Số tiền / Định dạng tiền tệ có dấu phẩy Tài chính
^\d{1,3}(,\d{3})*(\.\d+)?$
Khớp số tiền phân cách hàng nghìn (VD: 1,500,000.50)
Số thực có tối đa 2 chữ số thập phân Tài chính
^\d+(\.\d{1,2})?$
Dùng cho giá sản phẩm, trọng lượng, số đo
Mã tiền tệ quốc tế ISO 4217 Tài chính
^[A-Z]{3}$
Khớp các mã tiền tệ viết hoa gồm 3 ký tự (USD, VND, EUR)
Thẻ tín dụng Visa Tài chính
^4[0-9]{12}(?:[0-9]{3})?$
Nhận diện đầu số thẻ tín dụng Visa quốc tế
Kiểm tra đuôi file hình ảnh phổ biến File
^[\w\-]+\.(jpg|jpeg|png|gif|webp)$
Xác thực các định dạng hình ảnh tải lên hệ thống
Kiểm tra đuôi file tài liệu File
^[\w\-]+\.(pdf|docx|xlsx|txt)$
Xác thực các định dạng tài liệu văn phòng
Kiểm tra tên file mã nguồn lập trình File
^[\w\-]+\.(php|js|py|html|css)$
Lọc các file tập tin mã nguồn lập trình viên
Định dạng Slug URL thân thiện Lập trình
^[a-z0-9]+(?:-[a-z0-9]+)*$
Khớp chuỗi không dấu ngăn cách bởi dấu gạch ngang (VD: lap-trinh-web)
Khớp dải tên file theo yêu cầu (301_ đến 399_) Thực chiến
^30[1-9]_$
Khớp các tên bắt đầu từ 301_ đến 309_ (hoặc dùng ^3\d{2}_$ cho toàn bộ dải 300)
Loại bỏ khoảng trắng thừa đầu và cuối chuỗi String
^\s+|\s+$
Tìm kiếm khoảng trắng thừa để làm sạch dữ liệu đầu vào
Trích xuất nội dung trong dấu ngoặc kép String
"([^"]*)"
Lấy toàn bộ chuỗi ký tự nằm giữa dấu " "
Kiểm tra chuỗi mã hóa Base64 Bảo mật
^(?:[A-Za-z0-9+\/]{4})*(?:[A-Za-z0-9+\/]{2}==|[A-Za-z0-9+\/]{3}=)?$
Xác thực cấu trúc định dạng chuỗi mã hóa Base64
Kiểm tra mã định danh UUID v4 Hệ thống
^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$
Xác thực cấu trúc mã UUID chuẩn phiên bản 4
Tên biến tiêu chuẩn trong lập trình Lập trình
^[a-zA-Z_][a-zA-Z0-9_]*$
Quy tắc đặt tên biến hợp lệ trong hầu hết ngôn ngữ