Regex số thẻ ngân hàng (16 số)

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

Dùng biểu thức /^\d{4}[ -]?\d{4}[ -]?\d{4}[ -]?\d{4}$/m để Khớp số thẻ 16 chữ số, cho phép nhóm cách nhau bằng dấu cách/gạch. 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{4}[ -]?\d{4}[ -]?\d{4}[ -]?\d{4}$ /m
/ /

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)
4111111111111111
checkKhớp
5500 0000 0000 0004
checkKhớp
3400-0000-0000-0009
checkKhớp
cancel Ví dụ KHÔNG hợp lệ (không khớp)
1234
blockKhông khớp
4111 1111 1111
blockKhông khớp
the-tin-dung
blockKhông khớp

code Dùng trong code

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

Trang này cung cấp biểu thức chính quy /^d{4}[ -]?d{4}[ -]?d{4}[ -]?d{4}$/m để Khớp số thẻ 16 chữ số, cho phép nhóm cách nhau bằng dấu cách/gạch. 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

Khớp số thẻ 16 chữ số chia bốn nhóm, chấp nhận dấu cách hoặc gạch nối giữa các nhóm như khi người dùng gõ trên form thanh toán. Regex KHÔNG kiểm tra tính hợp lệ Luhn (thuật toán checksum của số thẻ) — hãy chạy kiểm tra Luhn sau đó. Và tuyệt đối không lưu/ghi log số thẻ thô: đây là dữ liệu thuộc phạm vi PCI-DSS.

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

Regex số thẻ ngân hàng (16 số) như thế nào? expand_more
Dùng biểu thức /^\d{4}[ -]?\d{4}[ -]?\d{4}[ -]?\d{4}$/m. Pattern này Khớp số thẻ 16 chữ số, cho phép nhóm cách nhau bằng dấu cách/gạch.
Biểu thức "^\d{4}[ -]?\d{4}[ -]?\d{4}[ -]?\d{4}$" khớp được những ví dụ nào? expand_more
Khớp các giá trị hợp lệ như "4111111111111111". Ngược lại, "1234" 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{4}[ -]?\d{4}[ -]?\d{4}[ -]?\d{4}$/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ả