【问题标题】:javascript fetch last url without prefixjavascript获取没有前缀的最后一个url
【发布时间】:2012-10-10 07:45:56
【问题描述】:

我希望使用 javascriptmootools 从文本中检测最后一个 url。网址可以不带前缀/方案

我正在研究像 Facebook 这样的 URL 自动感知。用户可能会给出一个 URL www.example.com 或http://www.example.com,其中任何一个都应该被 JavaScript 检测到。查看 stackoverflow 检测到的 URL 包含在没有 URL 方案的方案中,它无法检测到 URL。就我而言,我需要两者。

这里有一些文字

'http://www.example.com www.example2.com'

现在我想要 www.example2.com 如果我得到包含 http://www.example.comwww.example2.com 的完整数组会更好强>

我搜索了很多,但找不到解决方案。 最接近我要求的是Question about URL Validation with RegexHow do I extract a URL from plain text using jQuery?

非常感谢任何帮助。

【问题讨论】:

    标签: javascript regex mootools


    【解决方案1】:

    通过组合这两个链接中的信息: How do I extract a URL from plain text using jQuery? Detect URLs in text with JavaScript

    我们可以得到这个: http://jsfiddle.net/qQwGA/1/

    如果我理解你想要做什么,这应该涵盖它。

    【讨论】:

    • Pyro979 谢谢它似乎工作让我再检查一下。再次非常感谢您的回复。
    【解决方案2】:

    鉴于您的输入字符串,我想您只是想使用空格作为分隔符来分割它? .split(' ')?

    【讨论】:

    • Savageman 这只是一个示例,请记住。我也给出了非常接近我需要的参考资料。谢谢。
    • 请编辑您的问题并提供更多详细信息。我无法理解比我回答的更好......
    【解决方案3】:

    正则表达式

    /([^:\/?# ]+:)?(\/\/[^\/?# ]*)?[^?# ]+(\?[^# ]*)?(#\S*)?/gi
    

    **示例代码**
    var str = 'http://www.example.com www.example2.com scheme://username:password@domain:port/path?query_string#fragment_id';
    var t = str.match(/([^:\/?# ]+:)?(\/\/[^\/?# ]*)?[^?# ]+(\?[^# ]*)?(#\S*)?/gi);
    
    /* 
       t contains : 
       [ 
         "http://www.example.com",
         "www.example2.com",
         "scheme://username:password@domain:port/path?query_string#fragment_id"
       ]
    */
    

    **演示** >http://jsfiddle.net/wvYTd/
    **讨论**
    • 此正则表达式将查找输入字符串中看起来像一个 URL 的任何子字符串。
    • 未对找到的任何 URL 执行验证。例如,如果输入字符串是3aBadScheme://hostname,正则表达式会将其检测为 URL。在此示例中,3aBadScheme 无效,因为方案必须以字母开头。

      摘自RFC3986

    (...)
    方案名称由一系列字符组成,以字母开头,后跟字母、数字、加号 ("+")、句点 (".") 或连字符 ( “-”)。
    (...)

    【讨论】:

    • 我打赌这只是一个示例 url ;))
    • 并根据她的需要定制答案将是 OP 的一个很好的练习 :)
    • 我同意@MichalKlouda。这只是一个示例文本,请记住。我也给出了非常接近我需要的参考资料。谢谢。
    • 我已经更新了正则表达式和 jsfiddle 链接。同样,如果您有更多在您的上下文中有效的 url 示例,请发送它们。
    • @Stephan 谢谢。让我再解释一下。我正在研究像 Facebook 这样的 URL 自动感知。正如我所说的 www.example.com 或example.com ,用户可能会给出一个 URL,其中任何一个都应该被 JavaScript 检测到。
    猜你喜欢
    • 1970-01-01
    • 2012-11-30
    • 1970-01-01
    • 2019-02-11
    • 2022-08-12
    • 1970-01-01
    • 2014-11-29
    • 1970-01-01
    • 2017-01-23
    相关资源
    最近更新 更多