2009-12-28 6 views
0

Я следующий кодВыберите подстроки на основе строки вариантов

 

// 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 = ???; 
} 
 

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

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

ответ

3

Вы можете захватить 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)

+0

Благодарим вас за быстрый ответ. такой простой ответ :) – Onema