2009-12-28 41 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