获取没有parmaters的位置路径

时间:2015-05-21 22:25:47

标签: angularjs

AngularJS是否有办法获取URL路径减去所有参数?我不想把它从地址栏中取出来,我有一个var,其值是我想要路径的URL。

转过来:var url1 = http://domain.com/dir1/dir2/?param1=123&param2=456

进入:/dir1/dir2/

这只是想返回带有参数的路径:

var justPathLocation = $location.path();

1 个答案:

答案 0 :(得分:1)

window.location.pathname完全返回您需要的内容。

在此网址上:

  

http://stackoverflow.com/questions/30385367/get-location-path-without-parmaters/30386013#30386013?param=value

它返回:

"/questions/30385367/get-location-path-without-parmaters/30386013"

因此它只返回路径名,没有查询字符串或片段标识符。

更新

这是一种正则表达式方式,它使用域名,您可以使用window.location.hostname进行硬编码或获取:

var url = "http://domain.com/dir1/dir2/?param1=123&param2=456";

alert(url.match(/http:\/\/domain\.com(.*)\?/)[1]);

更通用的方法 - ^.*\/\/.*?(\/.+)\?

var url = "http://domain.com/dir1/dir2/?param1=123&param2=456";

alert(url.match(/^.*\/\/.*?(\/.+)\?/)[1]);