Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 01.09.2015, 18:09
Интересующийся
Отправить личное сообщение для juramaj Посмотреть профиль Найти все сообщения от juramaj
 
Регистрация: 14.01.2015
Сообщений: 21

Регулярка для YouTube
Доброго времени суток всем! Хочу спросить у знатоков. Как можно сделать проверку на iframe для YouTube. Может как то через регулярку? Вот пример того iframe который нужно проверить.
<iframe width="560" height="315" src="https://www.youtube.com/embed/здесь код видео" frameborder="0" allowfullscreen></iframe>
Может есть какой то готовый пример? Подскажите пожалуйста. Спасибо.
Ответить с цитированием
  #2 (permalink)  
Старый 01.09.2015, 19:16
Аспирант
Посмотреть профиль Найти все сообщения от forwardonly2015
 
Регистрация: 31.08.2015
Сообщений: 90

Возможно вот этого достаточно будет
alert(
 (
   '<iframe width="560" height="315" src="https://www.youtube.com/embed/11111" frameborder="0" allowfullscreen></iframe>'
   +'FOO'
   +'<iframe width="560" height="315" src="https://www.youtube.com/embed/11111" frameborder="0" allowfullscreen></iframe>'
   +'FOO'
   +'<iframe width="560" height="315" src="https://www.youtube.com/embed/11111" frameborder="0" allowfullscreen></iframe>'
   +'FOO'
   +'<iframe width="560" height="315" src="https://www.youtube.com/embed/11111" frameborder="0" allowfullscreen></iframe>'
   +'FOO'
 )

.match(/<iframe [\s\S]+?https:\/\/www\.youtube.com\/[\s\S]+?\/iframe>/ig)

)


//[ '<iframe width="560" height="315" src="https://www.youtube.com/embed/11111" frameborder="0" allowfullscreen></iframe>',
//  '<iframe width="560" height="315" src="https://www.youtube.com/embed/11111" frameborder="0" allowfullscreen></iframe>',
//  '<iframe width="560" height="315" src="https://www.youtube.com/embed/11111" frameborder="0" allowfullscreen></iframe>',
//  '<iframe width="560" height="315" src="https://www.youtube.com/embed/11111" frameborder="0" allowfullscreen></iframe>' ]

Последний раз редактировалось forwardonly2015, 01.09.2015 в 21:14.
Ответить с цитированием
  #3 (permalink)  
Старый 01.09.2015, 19:28
Аспирант
Посмотреть профиль Найти все сообщения от forwardonly2015
 
Регистрация: 31.08.2015
Сообщений: 90

Если нужна просто проверка
re=/<iframe [\s\S]+?https:\/\/www.youtube\.com\/[\s\S]+?\/iframe>/i
alert([

 re.test(
   '<iframe width="560" height="315" src="https://www.youtube.com/embed/11111" frameborder="0" allowfullscreen></iframe>'
   +'FOO'
   +'<iframe width="560" height="315" src="https://www.youtube.com/embed/11111" frameborder="0" allowfullscreen></iframe>'
   +'FOO'
   +'<iframe width="560" height="315" src="https://www.youtube.com/embed/11111" frameborder="0" allowfullscreen></iframe>'
   +'FOO'
   +'<iframe width="560" height="315" src="https://www.youtube.com/embed/11111" frameborder="0" allowfullscreen></iframe>'
   +'FOO'
 ),
 re.test("foo")

])

//[true, false]

Последний раз редактировалось forwardonly2015, 01.09.2015 в 21:13.
Ответить с цитированием
  #4 (permalink)  
Старый 01.09.2015, 20:17
Интересующийся
Отправить личное сообщение для juramaj Посмотреть профиль Найти все сообщения от juramaj
 
Регистрация: 14.01.2015
Сообщений: 21

Спасибо, получилось.
Ответить с цитированием
  #5 (permalink)  
Старый 01.09.2015, 20:53
Аватар для Sigizmund2012
Профессор
Отправить личное сообщение для Sigizmund2012 Посмотреть профиль Найти все сообщения от Sigizmund2012
 
Регистрация: 16.07.2014
Сообщений: 267

<iframe width="420" height="315" src="https://www.youtube.com/embed/A3TUXGI_iuM" frameborder="0" allowfullscreen></iframe>

<script>

var frame = document.querySelector('iframe');
var url = frame.src;
if (url.match(/youtube.com/)) {
    alert('It\'s Youtube!');
}

</script>
Ответить с цитированием
  #6 (permalink)  
Старый 01.09.2015, 21:16
Аспирант
Посмотреть профиль Найти все сообщения от forwardonly2015
 
Регистрация: 31.08.2015
Сообщений: 90

Sigizmund2012,
Используй querySelectorAll, иначе не сработает, если первым в документе окажется другой айфрейм
Ответить с цитированием
  #7 (permalink)  
Старый 02.09.2015, 09:08
Аватар для Sigizmund2012
Профессор
Отправить личное сообщение для Sigizmund2012 Посмотреть профиль Найти все сообщения от Sigizmund2012
 
Регистрация: 16.07.2014
Сообщений: 267

Сообщение от forwardonly2015 Посмотреть сообщение
Sigizmund2012,
Используй querySelectorAll, иначе не сработает, если первым в документе окажется другой айфрейм
Естественно, это же академический пример, по-хорошему фреймы нужно в массив собирать и обходить его циклом, проверяя условие.

Последний раз редактировалось Sigizmund2012, 02.09.2015 в 09:12.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[job] JS-разработчик (+Angular) на UI внутреннего проекта (для других разработчиков:) Anna-HR Работа 12 19.01.2015 13:50
виджет, только сторона клиента (JS, JQUery, работа с датами, масштабирование) eugen35 Работа 4 31.07.2014 09:50
Яндекс.Деньги организуют в Петербурге школу для веб-разработчиков LinaKurkova Работа 0 15.05.2014 22:41
EruditionCMS - веб-приложение для создания и проведения тестирований mbcsoft Ваши сайты и скрипты 0 08.05.2014 13:12
IDE для Java Script constant Библиотеки/Тулкиты/Фреймворки 0 27.09.2012 09:31