javascript - 从绝对URL获取相对URL

标签 javascript regex url

我想使用正则表达式和替换方法从 JavaScript 中的绝对 URL 获取相对 URL。

我尝试了以下方法,但不起作用:

var str="http://localhost/mypage.jsp";
document.write(str.replace("^[\w]*\/\/[\w]*$",""));

最佳答案

实现此目的的一个好方法是使用浏览器的 native 链接解析功能,即使用 a 元素:

function getUrlParts(url) {
    var a = document.createElement('a');
    a.href = url;

    return {
        href: a.href,
        host: a.host,
        hostname: a.hostname,
        port: a.port,
        pathname: a.pathname,
        protocol: a.protocol,
        hash: a.hash,
        search: a.search
    };
}

然后您可以使用 getUrlParts(yourUrl).pathname 访问路径名。

属性与 location 相同对象。

关于javascript - 从绝对URL获取相对URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6263454/

相关文章:

javascript - Node js Websocket 路由器

javascript - 使用 CSS 不透明度和 Javascript 在滚动条上淡入淡出

regex - 匹配除字符之外的任何内容,除非它后面跟着其他字符

php - PHP中双引号和单引号的正则表达式

javascript - 如何在 JavaScript 中展平模板字符串

javascript - 如何让我的开始功能上的音频循环播放,以便在 JavaScript 游戏过程中全程播放?

javascript - MongoDB 模式设计 - 巨大的列表

php - 如何使用 php preg_replace 替换 HTML 标签

c# - 如何在 C#/ASP.NET 中检查图像是否存在于 http ://someurl/myimage. jpg

javascript - 检查链接是否为图片