拆分URL和查询字符串

时间:2014-02-21 14:38:16

标签: javascript jquery

我想在最后/之后和查询字符串之前获取网址的一部分。

到目前为止,我已经拥有了URL的最后一部分,但我无法从URL中删除查询字符串。

Javascript:

<script type='text/javascript'>
 var url = window.location.href;
 var array = url.split('/');

 var lastsegment = array[array.length-1];
 document.write(lastsegment);
</script>

网址的结构如下:

http://www.example.com/search/People?&results=latest

我只需要People部分。在上面的Javascript中怎么可能呢? 或者有更好的方法吗?

4 个答案:

答案 0 :(得分:4)

尝试使用window.location.pathname代替window.location.href。它只获取服务器名称和查询字符串之间的文本(在您的情况下为"/search/People"):

var last_part = window.location.pathname.split('/').pop();

您可以详细了解pathname here

答案 1 :(得分:2)

阅读Window.location

window.location.pathname.split('/').pop();

.pop()

答案 2 :(得分:2)

您的代码做了正确的事情,您可以通过修改它来删除查询字符串;

var lastsegment = array[array.length-1];
if(lastsegment.indexOf('?'))
     lastsegment = lastsegment.split('?')[0];

<强>更新 如果根本没有嵌入查询字符串,则处理这种情况。

答案 3 :(得分:1)

如果您要解析来自window.location以外的其他来源的网址:

var test = 'http://www.example.com/search/People?&results=latest';

var parts = test.split('/');
lastPart = parts[parts.length-1].split('?')[0];

lastPart现在是&#34;人物&#34;