質問

私持って、次のコード


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

試合方法のルックスプロバイダのリストに一致する部分文字列がある場合:ユーチューブ、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