Скидки до 28% + 2-ая профессия бесплатно и подарки на 50 000₽

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

Аватар пользователя Elena Gromova
Elena Gromova
2 дня назад

Чтобы извлечь 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).
  1. Функция extractYouTubeID(url):

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

0 0

Есть что добавить? Зарегистрируйтесь

или войдите в аккаунт

Отправляя форму, вы принимаете «Соглашение об обработке персональных данных» и условия «Оферты», а также соглашаетесь с «Условиями использования»

Курсы по программированию в Хекслете

Программирование

Веб-разработка

Разработка, верстка и деплой сайтов и веб-приложений, трудоустройство для разработчиков

Frontend-разработка

Разработка внешнего интерфейса сайтов и веб-приложений и верстка

Создание сайтов

Разработка сайтов и веб-приложений на JS, Python, Java, PHP и Ruby on Rails

Backend-разработка

Разработка серверной части сайтов и веб-приложений

Тестирование

Ручное тестирование и автоматизированное тестирование на JS, Python, Java и PHP

Аналитика данных

Сбор, анализ и интерпретация данных на Python

Интенсивные курсы

Интенсивное обучение для продолжающих

DevOps

Автоматизация настройки локального окружения и серверов, развертывания и деплоя

Математика для программистов

Обучение разделам математики, которые будут полезны при изучении программирования

JavaScript

Разработка сайтов и веб-приложений и автоматизированное тестирование на JS

Тест-драйв

Python

Веб-разработка, автоматическое тестирование и аналитика данных на Python

Java

Веб-разработка и автоматическое тестирование на Java

PHP

Веб-разработка и автоматическое тестирование на PHP

Ruby

Разработка сайтов и веб-приложений на Ruby on Rails

Go

Курсы по веб-разработке на языке Go

Верстка

HTML

Современная верстка с помощью HTML и CSS

SQL

Проектирование базы данных, выполнение SQL-запросов и изучение реляционных СУБД

Git

Система управления версиями Git, регулярные выражения и основы командой строки

Бесплатные курсы

Бесплатные курсы по тестированию, дата-аналитике, верстке, программированию на Python, Java, PHP и JavaScript.

Базы данных

Фреймворки