删除字符串末尾的'/'?

时间:2011-10-05 07:24:33

标签: javascript regex

我正在使用此功能删除http://,https://和www。来自我的网址。

function cleanUrl2(url) { 
    return url.replace(/^(http(s)?:\/\/)?(www\.)?/gi,"");
}

我的问题是我有时会得到:

google.com

有时候:

google.com/something/

最后的'/'会导致我的数据库出现很多问题。如果它是最后一个字符,我需要我的函数也删除'/'。

我该怎么做?

5 个答案:

答案 0 :(得分:3)

网址google.com/something/google.com/something不等效,网络服务器(或其背后的代码)决定在请求这些网址时提供哪些数据。

www.google.com也与google.com不同,也许它们甚至指向不同机器上的不同IP地址。

所以,在你做任何替换之前,请考虑一下。

答案 1 :(得分:1)

function cleanUrl2(url) { 
    return url.replace(/^(http(s)?:\/\/)?(www\.)?/gi,"").replace(/\/$/, "");
 }

答案 2 :(得分:1)

function cleanUrl2() {
    return url.replace(/^(http(s)?:\/\/)?(www\.)?|\/$/gi,"");
}

应该做的伎俩(在ff上)

答案 3 :(得分:1)

尝试

"google.com/something/".replace(/\/$/,"")

答案 4 :(得分:1)

url = url.replace(/\/$/, "");

但你确定要这样做吗?如果删除尾部斜杠,则URL不一定有效,具体取决于Web服务器。你最好用你的数据库代码修复问题,导致斜杠成为一个问题。