/
Вопросы и ответы
/
JavaScript
/

как извлечь id видео из url youtube на javascript

как извлечь id видео из url youtube на javascript

год назад

Nikolai Gagarinov

Ответы

0

Чтобы извлечь ID видео из URL YouTube на JavaScript, нужно учитывать различные форматы URL, которые YouTube использует для представления видео. Наиболее распространенные форматы URLs для видео YouTube выглядят следующим образом:

  1. https://www.youtube.com/watch?v=VIDEO_ID
  2. https://youtu.be/VIDEO_ID
  3. https://www.youtube.com/embed/VIDEO_ID

Где VIDEO_ID — это уникальный идентификатор видео.

Вот пример функции, которая будет обрабатывать различные форматы URL и извлекать из них ID видео:

function extractYouTubeID(url) {
    let videoId = null;

    // Регулярные выражения для различных форматов
    const youtubeRegex = /^(?:https?:\/\/)?(?:www\.)?(?:youtube\.com\/(?:[^\/\n\s]+\/\S+\/|(?:v|e(?:mbed)?)\/|.*[?&]v=)|(?:youtu\.be\/))([^&\n]{11})/;

    const match = url.match(youtubeRegex);
    if (match) {
        videoId = match[1]; // Получаем ID видео
    }

    return videoId;
}

// Примеры использования
const url1 = "https://www.youtube.com/watch?v=dQw4w9WgXcQ";
const url2 = "https://youtu.be/dQw4w9WgXcQ";
const url3 = "https://www.youtube.com/embed/dQw4w9WgXcQ";

console.log(extractYouTubeID(url1)); // dQw4w9WgXcQ
console.log(extractYouTubeID(url2)); // dQw4w9WgXcQ
console.log(extractYouTubeID(url3)); // dQw4w9WgXcQ

Объяснение кода:

  1. Регулярное выражение: Мы используем регулярное выражение для поиска ID видео в URL. Оно позволяет учитывать различные форматы ссылок на YouTube.

    • (?:https?:\/\/)? — необязательная часть, которая соответствует началу URL (http:// или https://).
    • (?:www\.)? — необязательная часть для "www".
    • (?:youtube\.com\/(?:[^\/\n\s]+\/|(?:v|e(?:mbed)?)\/|.*[?&]v=)|(?:youtu\.be\/)) — определяет всю структуру, которая может быть перед ID видео.
    • ([^&\n]{11}) — захватывает ID видео, который состоит из 11 символов (изначально это описано в спецификации YouTube).
  2. Функция extractYouTubeID(url):

    • Принимает URL в качестве аргумента.
    • Сравнивает его с регулярным выражением.
    • Если находится совпадение, ID видео извлекается и возвращается.
  3. Примеры использования: Функция протестирована на трех разных форматах URL, и в каждом случае она правильно извлекает VIDEO_ID.

8 месяцев назад

Elena Gromova