0

我想在页面上链接的第三个和第四个斜杠之间获取 URL 的特定部分。

编辑:对不起,我认为我第一次不清楚,我的意思是获取页面上找到的链接 URL 的特定部分。

4

4 回答 4

7
var getSegment = function (url, index) {
   return url.replace(/^https?:\/\//, '').split('/')[index];
}

用法:

getSegment("http://domain.com/a/b/c/d/e", 4); // "d" 

replace确保协议 ( httpor ) 之后的前两个斜杠https不计算在内。

于 2012-07-28T18:44:15.473 回答
2

是获取特定路径段的工作示例。

代码:

var url = "www.test.com/one/two/three?p1=v&p2=v#anc";
var file = url.split('?')[0];
var pathanddomain = file.split('/');
var path = pathanddomain.splice(1, pathanddomain.length-1);
var pathIndexToGet = 2;
document.write(path[pathIndexToGet]);​

如果要对当前页面执行此操作,请使用:

var url = window.location.href;

此外,如果您的网址以 http(s):// 开头,则需要将其删除。

于 2012-07-28T18:43:24.880 回答
0

您应该详细说明您的问题并应指定哪个是您的域,这意味着您问这个问题的目的是什么?

这可能会帮助您:

var urlValue = url.split("/");

然后将 urlValue 存储为数组。然后在数组上获取 urlvalue 的第三个和第四个值。

于 2012-07-28T18:53:12.263 回答
0

我建议:

var link = 'http://www.example.com/directory1/directory2/directory3/directory4/index.html';

console.log(link.split('/')[5]);​

JS 小提琴演示

我们使用[5]not的原因[4]是因为 URL 开头的两个斜杠,并且因为 JavaScript 数组是从零开始的。

于 2012-07-28T18:47:19.927 回答