Mẫu hoạt động như thế nào
| Phần | Ý nghĩa |
|---|---|
(?:https?:\/\/)?(?:www\.|m\.)? | Giao thức và subdomain www hoặc m (không bắt buộc) |
youtube\.com\/(?:watch\?v=|embed\/|shorts\/) | URL watch, embed và Shorts |
youtu\.be\/ | Hoặc liên kết rút gọn youtu.be |
([\w-]{11}) | Nhóm 1: video ID gồm 11 ký tự |
(?:[?&#].*)? | Các tham số bổ sung không bắt buộc, ví dụ &t=42 hoặc &list=… |
Ví dụ code
JavaScript
const re = /^(?:https?:\/\/)?(?:www\.|m\.)?(?:youtube\.com\/(?:watch\?v=|embed\/|shorts\/)|youtu\.be\/)([\w-]{11})(?:[?&#].*)?$/;
re.test(value); // true or falsePython
import re
bool(re.fullmatch(r'(?:https?://)?(?:www\.|m\.)?(?:youtube\.com/(?:watch\?v=|embed/|shorts/)|youtu\.be/)([\w-]{11})(?:[?&#].*)?', value))PHP
preg_match('/^(?:https?:\/\/)?(?:www\.|m\.)?(?:youtube\.com\/(?:watch\?v=|embed\/|shorts\/)|youtu\.be\/)([\w-]{11})(?:[?&#].*)?$/', $value) === 1;
Ghi chú và giới hạn
Nhóm 1 chứa video ID, bạn có thể đưa vào https://www.youtube.com/embed/ID hoặc URL thumbnail https://i.ytimg.com/vi/ID/hqdefault.jpg. URL watch phải có v= là tham số đầu tiên.
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.