我正在使用此功能删除http://,https://和www。来自我的网址。
function cleanUrl2(url) {
return url.replace(/^(http(s)?:\/\/)?(www\.)?/gi,"");
}
我的问题是我有时会得到:
google.com
有时候:
google.com/something/
最后的'/'会导致我的数据库出现很多问题。如果它是最后一个字符,我需要我的函数也删除'/'。
我该怎么做?
答案 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服务器。你最好用你的数据库代码修复问题,导致斜杠成为一个问题。