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としてオブジェクトが必要ですが、 を渡すStringと、式の結果に置き換えられますnew RegExp(string)

于 2009-12-28T17:16:52.267 に答える