Regex untuk ID Video YouTube dari URL

Gunakan /^(?:https?:\/\/)?(?:www\.|m\.)?(?:youtube\.com\/(?:watch\?v=|embed\/|shorts\/)|youtu\.be\/)([\w-]{11})(?:[?&#].*)?$/ untuk memeriksa apakah seluruh string merupakan ID video YouTube dari URL yang valid. Setiap contoh di bawah sudah diuji terhadap pola ini, dan kamu bisa membukanya di Regex Tester dengan contoh yang sudah dimuat.

Diperbarui

/^(?:https?:\/\/)?(?:www\.|m\.)?(?:youtube\.com\/(?:watch\?v=|embed\/|shorts\/)|youtu\.be\/)([\w-]{11})(?:[?&#].*)?$/
Buka di Regex Tester
InputHasilGrup
https://www.youtube.com/watch?v=dQw4w9WgXcQ✓ CocokdQw4w9WgXcQ
https://youtu.be/dQw4w9WgXcQ?t=42✓ CocokdQw4w9WgXcQ
youtube.com/shorts/abcdefghijk✓ Cocokabcdefghijk
https://m.youtube.com/watch?v=dQw4w9WgXcQ&list=PL1✓ CocokdQw4w9WgXcQ
https://vimeo.com/123456✗ Tidak cocok
https://www.youtube.com/watch?v=short✗ Tidak cocok
https://youtube.com/@channel✗ Tidak cocok

Cara kerja pola

BagianArti
(?:https?:\/\/)?(?:www\.|m\.)?Skema opsional dan subdomain www atau m
youtube\.com\/(?:watch\?v=|embed\/|shorts\/)URL watch, embed, dan Shorts
youtu\.be\/Atau tautan pendek youtu.be
([\w-]{11})Grup 1: ID video 11 karakter
(?:[?&#].*)?Parameter tambahan opsional seperti &t=42 atau &list=…

Contoh kode

JavaScript

const re = /^(?:https?:\/\/)?(?:www\.|m\.)?(?:youtube\.com\/(?:watch\?v=|embed\/|shorts\/)|youtu\.be\/)([\w-]{11})(?:[?&#].*)?$/;
re.test(value); // true or false

Python

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;

Catatan dan batasan

Grup 1 berisi ID video, yang bisa kamu masukkan ke https://www.youtube.com/embed/ID atau URL thumbnail https://i.ytimg.com/vi/ID/hqdefault.jpg. URL watch harus memiliki v= sebagai parameter pertama.

Pertanyaan yang sering diajukan

Apa regex untuk ID video YouTube dari URL?
/^(?:https?:\/\/)?(?:www\.|m\.)?(?:youtube\.com\/(?:watch\?v=|embed\/|shorts\/)|youtu\.be\/)([\w-]{11})(?:[?&#].*)?$/ — pola ini mencocokkan seluruh string. Lihat tabel di atas untuk fungsi tiap bagiannya.
Contoh mana yang cocok?
Dari contoh yang diuji, yang cocok adalah: https://www.youtube.com/watch?v=dQw4w9WgXcQ, https://youtu.be/dQw4w9WgXcQ?t=42, youtube.com/shorts/abcdefghijk, https://m.youtube.com/watch?v=dQw4w9WgXcQ&list=PL1. Sisanya tidak cocok.
Bagaimana cara menguji regex ini?
Klik “Buka di Regex Tester” — pola, flag, dan teks contoh akan dimuat otomatis, dan kecocokan akan disorot saat kamu mengedit.