Javascript Jquery检查字符串是否包含任何URL并获取它

Javascript Jquery检查字符串是否包含任何URL并获取它,javascript,jquery,regex,Javascript,Jquery,Regex,我想从字符串中获取url,但我不熟悉正则表达式或任何此类方法的使用 例如,我有3个字符串 “我已经导航到www.facebook.com” “我已经导航到www.facebook.com和www.google.com” “我已经航行到 在我的例子中:我应该得到“www.facebook.com”作为从第一个字符串中提取的url 我只想获取字符串中的第一个url,这样我就可以使用找到的API进行链接预览。但我正在努力使用Javascript或Jquery获取url。字符串将从文本框中获取,我想在键

我想从字符串中获取url,但我不熟悉正则表达式或任何此类方法的使用

例如,我有3个字符串

  • “我已经导航到www.facebook.com”
  • “我已经导航到www.facebook.com和www.google.com”
  • “我已经航行到
  • 在我的例子中:我应该得到“www.facebook.com”作为从第一个字符串中提取的url


    我只想获取字符串中的第一个url,这样我就可以使用找到的API进行链接预览。但我正在努力使用Javascript或Jquery获取url。字符串将从文本框中获取,我想在键入时获取url。

    您可以使用此函数提取给定字符串中找到的第一个url:

    function getFirstUrl(string) {
        var pattern = /(https?:\/\/)?(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&//=]*)/;
        var match = string.match(pattern);
        return match[0];
    }
    
    var string = "I've nagivated to www.facebook.com and to www.google.com";
    var url = getFirstUrl(string);
    // url === 'www.facebook.com'
    

    我从中获得了regex模式,并对其进行了修改,使https://部分成为可选部分。

    您可以使用此函数提取在给定字符串中找到的第一个URL:

    function getFirstUrl(string) {
        var pattern = /(https?:\/\/)?(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&//=]*)/;
        var match = string.match(pattern);
        return match[0];
    }
    
    var string = "I've nagivated to www.facebook.com and to www.google.com";
    var url = getFirstUrl(string);
    // url === 'www.facebook.com'
    

    我从中获得了正则表达式模式,并对其进行了修改,使
    https://
    部分成为可选部分。

    好的,等等,我会发布它。互联网上有大量的示例,包括StackOverflow中的大量示例。请在发布之前进行研究,除非您能说明其他示例不适合的特殊情况。我们已经尝试过谷歌搜索它。但示例不适合我的情况。我需要检查整个字符串中是否有url,但给出的示例只是检查字符串是否是url。就像我所说的,我对正则表达式了解不多。答案,无论多么简单,在您至少尝试过并有东西要展示时,会对您更有意义,呵呵wever small!可能是Okay的副本,等等,我会发布它。互联网上有很多例子,包括StackOverflow的很多。请在发布之前进行研究,除非你能说明其他例子不适合的特殊情况。我们已经尝试过谷歌搜索。但是例子不适合我的情况。我需要检查整个案例字符串中是否有url,但给出的示例只是检查字符串是否是url。正如我所说的,我对正则表达式了解不多。答案,无论多么简单,当您至少尝试过这样做,并且有东西要显示时,对您来说会更有意义,无论多么小!可能是