Javascript抓取部分网址

时间:2017-01-17 21:09:41

标签: javascript

我已经浏览了很多关于提取查询字符串参数的好帖子,甚至使用正则表达式来获取部分URL路径。但是,它并没有真正回答我想要做的事情。

我需要能够获取用户所在的当前URL并仅解析出部分路径名,并将它们捕获到单独的变量中。我不关心查询字符串参数我只想要这些关键部分。

http://www.domain.com/part1/part2/part3/part4

var1=part1
var2=part2
var3=part3
var4=part4

我的Javascript有点生疏,所以对此的任何指导都会很棒!

3 个答案:

答案 0 :(得分:1)

此解决方案将使用斜杠作为分隔符拆分字符串,忽略协议。

var url = "http://www.domain.com/part1/part2/part3/part4"
var parts = url.split('/').splice(2);
console.log(parts);

var baseUrl = parts[0];
var part1 = parts[1];
var part2 = parts[2];
var part3 = parts[3];
var part4 = parts[4]

答案 1 :(得分:0)

这是获取您想要的网址部分的一种方法。



var url = "http://www.domain.com/part1/part2/part3/part4"
var parts = url.match(/.+w{3}\.\w+\.\w{3}\/(\w+)\/(\w+)\/(\w+)\/(\w+)/);
console.log(parts);

var baseUrl = parts[0];
var part1 = parts[1];
var part2 = parts[2];
var part3 = parts[3];
var part4 = parts[4]




但是,正如cyberbit和Patrick所提到的,你可以简单地做url.split(' /')来获取部件。这样你就不必担心你在网址中获得了多少部分。感谢。

答案 2 :(得分:0)

作为评论中提到的用户,url字符串与任何其他字符串没有区别。您可以轻松地使用字符串拆分方法返回/字符

之间的字符串数组

要获取href位置,您可以使用window.location.hreflocation.href

var url_str = window.location.href;

str.split()函数在这种情况下采用分隔符参数'/'并返回找到的字符串数组。例如,如果您的示例网址为http://www.domain.com/part1/part2/part3/part4

,则会返回此值

var arr = url_str.split('/');

["http:", "", "www.domain.com", "part1", "part2", "part3", "part4"]

数组.slice(begin,end)方法返回数组的一部分,从beginend(数组的默认结束)参数(基于零,第一个元素= 0,第10个= 9)。

要获取示例数组的最后4个部分,我们执行以下操作:

var values = arr.slice(3);

["part1", "part2", "part3", "part4"]

现在,您可以直接访问数组以获取每个值或将它们分配给变量:

console.log("Your first folder is "+values[0]); //direct access

var var1 = values[0];
var var2 = values[1];
var var3 = values[2];
var var4 = values[3];

console.log("Your first folder is " + var1]); //variable alias