【问题标题】:Remove everything after domain and http in url javascript [duplicate]删除 url javascript 中域和 http 之后的所有内容 [重复]
【发布时间】:2015-11-03 16:28:13
【问题描述】:

我在一个 javascript 变量中有完整的 url,我想将它剥离为裸 url。

例如:

https://www.google.com/hello/hi.php, http://youtube.com

精简为:

www.google.com、youtube.com

我将如何在 javascript 中执行此操作?

谢谢

这与我在 chrome 扩展中执行此操作的其他链接不同,因此获取 url 的唯一方法是使用仅提供完整 url 的 chrome 扩展 api。因此,我需要剥离完整的网址

【问题讨论】:

    标签: javascript regex string strip


    【解决方案1】:

    你可以试试这个:

    \/\/([^\/,\s]+\.[^\/,\s]+?)(?=\/|,|\s|$|\?|#)

    Regex live here.


    实时 JavaScript 示例:

    var regex = /\/\/([^\/,\s]+\.[^\/,\s]+?)(?=\/|,|\s|$|\?|#)/g;
    
    var input = "https://www.google.com/hello/hi.php, http://youtube.com,"
              + "http://test.net#jump or http://google.com?q=test";
    
    while (match = regex.exec(input)) {
        document.write(match[1] + "<br/>");
    };

    希望对你有帮助

    【讨论】:

    • 我不知道为什么这被否决了这么多,它工作得很好,正是我所需要的。谢谢。我会在 5 分钟内接受
    • @KVohra95。它被否决了,因为我第一次解决的尝试非常糟糕......
    • @Jonny5。谢谢你。我已经更新了。
    • 我正在努力在 javascript 中实现这个正则表达式。我知道如何在 php 中做到这一点,但你能帮忙吗?我如何将此正则表达式应用于 javascript 中的字符串并返回有效的字符串部分?谢谢
    • @KVohra95。我已经更新了一个 javascript 示例。希望对您有所帮助。
    【解决方案2】:

    使用全局变量window.location.hostname,它会为您提供这些信息。

    【讨论】:

    • 这很好,但我是通过 chrome 扩展来执行此操作的,因此我需要删除完整的 url,因为我无权访问 window.location.hostname。不过感谢您的建议
    • 下次尝试在问题中指定您的开发环境。然后你不会收到一堆关闭标志。
    猜你喜欢
    • 2015-08-13
    • 2019-02-11
    • 1970-01-01
    • 1970-01-01
    • 2017-12-31
    • 1970-01-01
    • 1970-01-01
    • 2021-02-13
    • 2016-05-11
    相关资源
    最近更新 更多