Automatically parse URLs with a tag
For window.location, we are more familiar with, it has protocol,hostname,host,port,search,hash,href,pathname and other properties, a tag and window.location, also have such attributes, so that I can easily We analyze URLs, gossip Less, on the code.
function parseURL (URL) { var a = document.createelement (' a '); a.href = URL; return { Source:url, protocol:a.protocol.replace (': ', '), host:a.hostname, port:a.port| | ' Query:a.search, params: (function () { var ret = {}, seg = A.search.replace (/^\?/, "). Split (' & '), len = seg.length, i = 0, s; for (; i<len;i++) { if (!seg[i]) {continue;} s = seg[i].split (' = '); Ret[s[0]] = s[1]; } return ret; }) (), file: (A.pathname.match (/\/([^\/?#]+) $/i) | | [,‘‘]) [1], hash:a.hash.replace (' # ', '), path:a.pathname.replace (/^ ([^\/])/, '/$1 '), relative: ( A.href.match (/tps?:\ /\/[^\/]+(.+)/) || [,‘‘]) [1], segments:a.pathname.replace (/^\//, '). Split ('/') };}
Test address
Console.log (parseURL ("Http://www.w3school.com.cn/jsref/dom_obj_anchor.asp?type=2#id2"));
The results are as follows
1 {2 file: "Dom_obj_anchor.asp", 3 Hash: "Id2", 4 Host: "Www.w3school.com.cn", 5 params: {type: "2"}, 6< C5/>path: "/jsref/dom_obj_anchor.asp", 7 Port: "$", 8 Protocol: "http", 9 query: "? type=2", Ten Relative: "/jsref/dom_obj_anchor.asp?type=2#id2", one by one segments: [0: "Jsref", 1: "Dom_obj_anchor.asp"],12 Source: "Http://www.w3school.com.cn/jsref/dom_obj_anchor.asp?type=2#id2" 13}
Automatically parse URLs with a tag