Вопрос

У меня есть следующий код


// this text box can contain a URL such as:
// http://vimeo.com/
// http://www.youtube.com/
// and so on.
var text = $('#myTextBox').val();
var providers = "youtube|flickr|viddler|qik|revision3|hulu|vimeo";

if( text.match(providers).length > -1) {  
  var selectedProvider = ???;
}

метод match проверяет, есть ли какие-либо подстроки, соответствующие списку поставщиков:YouTube, Flickr, Vimeo и т. д.

Мой вопрос: какой провайдер был подобран?

Это было полезно?

Решение

Вы можете захватить match результат и получите первый соответствующий элемент:

var text = $('#myTextBox').val();
var match = text.match("youtube|flickr|viddler|qik|revision3|hulu|vimeo");

if (match) {
  var selectedProvider = match[0];
}

String.prototype.match ожидает RegExp объект в качестве аргумента, но если вы передадите String, оно будет заменено результатом выражения new RegExp(string)

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top