5

我正在尝试拆分以下网址:

http://www.store.com/products.aspx/Books/The-happy-donkey

为了得到http://www.store.com/products.aspx

我正在使用 JavaScript window.location.hrefsplit但到目前为止还没有成功。

如何才能做到这一点?谢谢!

4

5 回答 5

4

Try this

var fullurl = "http://www.store.com/products.aspx/Books/The-happy-donkey",
    url = fullurl.split(".aspx")[0] + ".aspx";
于 2013-03-21T02:39:58.013 回答
4

如果是 url:地址栏中的http://www.store.com/products.aspx/Books/The-happy-donkey

 var path = window.location.pathname;
 var str = path.split("/");
 var url = document.location.protocol + "//" + document.location.hostname + "/" + str[1];
于 2013-03-21T02:41:57.193 回答
3

这并不笨拙,是吗?

var url = 'http://www.store.com/products.aspx/Books/The-happy-donkey';

[
    url.split('://')[0] + '://', 
    url.split('://')[1].split('/').slice(0,2).join('/')
].join('')

少一点厚脸皮:

url.split('/').slice(0, 4).join('/')
于 2013-03-21T02:46:28.550 回答
1

更好的答案(比拆分)可能是诚实地使用正则表达式,除非您真的需要使用拆分(为了它的乐趣):

var shorterUrl = window.location.href.replace(/\.aspx.+/gi, ".aspx");

这将替换给定 url 的结尾,从 .aspx 开始,只保留 .aspx 部分。

但最重要的是,这不是解决特定问题的好方法(尝试更通用地解决此类问题)。

于 2013-03-21T02:48:16.853 回答
0

试试这个,你会得到 url 的对象

console.log(new URL(document.URL));
于 2019-11-26T07:50:23.813 回答