Many times we have the need to extract the domain name from a URL, query the keyword, variable parameter values, and so on, and never thought that it would be easy for the browser to help us complete this task without our writing the regular to crawl. The method creates a tag in the JS code and assigns the URL that needs to be parsed to the href attribute of a, and then gets everything we want.
var a = document.createelement (' a '); a.href = ' http://www.cnblogs.com/wayou/p/'; Console.log (a.host);
With this principle, a little extension, a more robust general method of parsing the various parts of the URL is obtained. The following code comes from James ' blog.
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 ('/')};}
Automatically parse URLs with a tag