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

match 方法查看是否有任何与提供者列表匹配的子字符串:youtube、flickr、vimeo 等。

我的问题是匹配了哪个提供商?

4

1 回答 1

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对象作为参数,但如果你传递 a String,它将被替换为表达式的结果new RegExp(string)

于 2009-12-28T17:16:52.267 回答