Cách hoạt động của mẫu
| Phần | Ý nghĩa |
|---|---|
^.+ | Một hoặc nhiều ký tự của tên file |
\. | Dấu chấm cuối cùng |
(?:jpe?g|png|gif|webp|avif|svg) | Một trong các phần mở rộng được phép (jpeg hoặc jpg) |
i flag | Không phân biệt hoa thường, nên .JPG cũng khớp |
Ví dụ code
JavaScript
const re = /^.+\.(?:jpe?g|png|gif|webp|avif|svg)$/i;
re.test(value); // true or falsePython
import re
bool(re.fullmatch(r'.+\.(?:jpe?g|png|gif|webp|avif|svg)', value, re.I))PHP
preg_match('/^.+\.(?:jpe?g|png|gif|webp|avif|svg)$/i', $value) === 1;
Ghi chú và giới hạn
Kiểm tra phần mở rộng là đủ để đưa ra gợi ý cho người dùng, nhưng tuyệt đối không nên dựa vào đó để bảo mật — hãy kiểm tra nội dung file (magic bytes) trên máy chủ.
Kiểm tra Regex
Nhập mẫu và xem các kết quả khớp được tô sáng ngay trong văn bản thử nghiệm.
Câu hỏi thường gặp
Regex cho tên file ảnh là gì?
/^.+\.(?:jpe?g|png|gif|webp|avif|svg)$/i — biểu thức này khớp với toàn bộ chuỗi. Xem bảng phía trên để biết từng phần làm gì.
Ví dụ nào khớp?
Trong các ví dụ đã kiểm thử, những ví dụ khớp là: photo.JPG, logo.svg, my.image.webp. Các ví dụ 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à các phần khớp sẽ được tô sáng khi bạn chỉnh sửa.