【问题标题】:Select substring based on a string of options根据选项字符串选择子字符串
【发布时间】:2025-12-06 16:25:01
【问题描述】:

我有以下代码

// 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 等。

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

【问题讨论】:

    标签: javascript select substring options matching


    【解决方案1】:

    您可以捕获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) 的结果替换

    【讨论】:

    • 感谢您的快速回复。这么简单的答案:)