Regex slug URL thân thiện
Cập nhật: 24 Tháng 6, 2026
Dùng biểu thức /^[a-z0-9]+(?:-[a-z0-9]+)*$/m để Kiểm tra slug chữ thường, số, nối bằng dấu gạch ngang. 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ệ).
edit_note Văn bản kiểm tra
analytics Kết quả
regex-tester
cong-cu-2024
abc
Regex-Tester
-bad-slug
hai--gach
code Dùng trong code
const re = /^[a-z0-9]+(?:-[a-z0-9]+)*$/m;
const matches = str.match(re);
preg_match_all('~^[a-z0-9]+(?:-[a-z0-9]+)*$~m', $str, $matches);
print_r($matches);
import re
pattern = re.compile(r"^[a-z0-9]+(?:-[a-z0-9]+)*$", re.MULTILINE)
matches = pattern.findall(text)
re := regexp.MustCompile(`^[a-z0-9]+(?:-[a-z0-9]+)*$`)
matches := re.FindAllString(str, -1)
Trang này cung cấp biểu thức chính quy /^[a-z0-9]+(?:-[a-z0-9]+)*$/m để Kiểm tra slug chữ thường, số, nối bằng dấu gạch ngang. 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 Web & Mạng.
tips_and_updates Ghi chú & lưu ý chuyên môn
Slug hợp lệ chỉ gồm chữ thường và số, các từ nối bằng một dấu gạch ngang, không có gạch ở đầu/cuối và không có hai gạch liền nhau (regex-tester chứ không phải regex--tester-). Nhóm không bắt (?:…) giúp pattern gọn mà không tạo group thừa. Để tạo slug từ tiếng Việt có dấu, hãy bỏ dấu và chuyển khoảng trắng thành "-" TRƯỚC khi kiểm tra bằng pattern này.
Câu hỏi thường gặp
Regex slug URL thân thiện như thế nào? expand_more
Biểu thức "^[a-z0-9]+(?:-[a-z0-9]+)*$" khớp được những ví dụ nào? expand_more
Dùng biểu thức này trong JavaScript ra sao? expand_more
Mẫu regex liên quan: Web & Mạng
Xem tất cảRegex tên miền (domain)
^([a-zA-Z0-9]([a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,}$
Regex địa chỉ MAC
^([0-9A-Fa-f]{2}[:-]){5}[0-9A-Fa-f]{2}$
Regex thẻ HTML
<\/?([a-zA-Z][a-zA-Z0-9]*)\b[^>]*>
Regex địa chỉ IPv4
^((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)$
Regex hashtag
#[A-Za-z0-9_]+
Regex mã màu HEX
#([0-9a-fA-F]{6}|[0-9a-fA-F]{3})\b
Regex cổng mạng (port 0–65535)
^([1-9]\d{0,3}|[1-5]\d{4}|6[0-4]\d{3}|65[0-4]\d{2}|655[0-2]\d|6553[0-5])$
Regex địa chỉ IPv6 (dạng đầy đủ)
^([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}$