JavaScript url解析

时间:2010-05-05 05:04:08

标签: javascript parsing

我有一个像http://mywebsite.com/folder1/folder2/index

这样的网址

如何解析上面的url并分别获取所有值? 我希望输出如下:

http, mywebsite.com, folder1, folder2, index 

3 个答案:

答案 0 :(得分:4)

如果您的URL保存在变量中,则可以使用split()方法执行以下操作:

var url = 'http://mywebsite.com/folder1/folder2/index';
var path = url.split('/');

// path[0]     === 'http:';
// path[2]     === 'mywebsite.com';
// path[3]     === 'folder1';
// path[4]     === 'folder2';
// path[5]     === 'index';

如果要解析文档的当前网址,可以使用window.location

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

// window.location.protocol  === 'http:'
// window.location.host      === 'mywebsite.com'
// path[1]                   === 'folder1';
// path[2]                   === 'folder2';
// path[3]                   === 'index';

答案 1 :(得分:3)

var reader = document.createElement('a');
reader.href = "http://test.example.com:80/pathname/?query=param#hashtag";

然后您可以使用以下属性:

reader.protocol
reader.hostname
reader.port
reader.pathname
reader.search
reader.hash
reader.host;

参考:https://gist.github.com/jlong/2428561

答案 2 :(得分:0)

<强>代码

var s = "http://mywebsite.com/folder1/folder2/index";

var list = s.split("/")

console.log(list);

<强>输出

["http:", "", "mywebsite.com", "folder1", "folder2", "index"]