Regex mã số thuế Việt Nam

Cập nhật: 24 Tháng 6, 2026

Dùng biểu thức /^\d{10}(-\d{3})?$/m để Mã số thuế 10 chữ số, kèm hậu tố -3 chữ số cho đơn vị trực thuộc. Trang này có công cụ kiểm tra trực tiếp cùng 6 ví dụ đã được đối chiếu (3 hợp lệ, 3 không hợp lệ).

Biểu thức
6 ví dụ test
/ ^\d{10}(-\d{3})?$ /m
Group 1: Hậu tố chi nhánh
/ /

edit_note Văn bản kiểm tra

analytics Kết quả

Số lượng khớp: 0
Chi tiết group:

Chưa có kết quả.

check_circle Ví dụ HỢP LỆ (nên khớp)
0312345678
checkKhớp
0101243150-001
Hậu tố chi nhánh: -001
checkKhớp
8012345678
checkKhớp
cancel Ví dụ KHÔNG hợp lệ (không khớp)
12345
blockKhông khớp
0312345678-1
blockKhông khớp
MST123
blockKhông khớp

code Dùng trong code

JavaScript
const re = /^\d{10}(-\d{3})?$/m;
const matches = str.match(re);
PHP
preg_match_all('~^\d{10}(-\d{3})?$~m', $str, $matches);
print_r($matches);
Python
import re
pattern = re.compile(r"^\d{10}(-\d{3})?$", re.MULTILINE)
matches = pattern.findall(text)
Go
re := regexp.MustCompile(`^\d{10}(-\d{3})?$`)
matches := re.FindAllString(str, -1)

Trang này cung cấp biểu thức chính quy /^d{10}(-d{3})?$/m để Mã số thuế 10 chữ số, kèm hậu tố -3 chữ số cho đơn vị trực thuộc. Bạn có thể kiểm tra trực tiếp với dữ liệu của mình bằng công cụ phía trên, xem các ví dụ đã đối chiếu và sao chép sẵn mã cho JavaScript, PHP, Python và Go. Mẫu thuộc nhóm Xác thực dữ liệu.

tips_and_updates Ghi chú & lưu ý chuyên môn

Mã số thuế doanh nghiệp gồm 10 chữ số; chi nhánh/đơn vị phụ thuộc có thêm hậu tố ba chữ số phân tách bằng dấu gạch nối (vd 0312345678-001). Pattern dùng nhóm tùy chọn (…)? để chấp nhận cả hai dạng. Nó không tính chữ số kiểm tra (check digit) của Tổng cục Thuế — nếu cần chính xác tuyệt đối hãy áp dụng thuật toán checksum sau bước regex.

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

Regex mã số thuế Việt Nam như thế nào? expand_more
Dùng biểu thức /^\d{10}(-\d{3})?$/m. Pattern này Mã số thuế 10 chữ số, kèm hậu tố -3 chữ số cho đơn vị trực thuộc.
Biểu thức "^\d{10}(-\d{3})?$" khớp được những ví dụ nào? expand_more
Khớp các giá trị hợp lệ như "0312345678". Ngược lại, "12345" sẽ không khớp. Trang này kèm 3 ví dụ hợp lệ và 3 ví dụ không hợp lệ đã kiểm chứng.
Dùng biểu thức này trong JavaScript ra sao? expand_more
Trong JavaScript: const re = /^\d{10}(-\d{3})?$/m; rồi gọi str.match(re). Bạn cũng có thể dán pattern vào công cụ kiểm tra ở trên để thử với dữ liệu của mình.

Mẫu regex liên quan: Xác thực dữ liệu

Xem tất cả