function parseURL(url) { var anchor = document.createElement('a') var undefined = void 0 var parts = { protocol: undefined, host: undefined, port: undefined, hostname: undefined, pathname: undefined, search: undefined, hash: undefined } anchor.href = url for (var key in parts) { parts[key] = anchor[key] } return parts } document.getElementById('parse').onclick = function () { var parts = parseURL(document.getElementById('url').value) var text = '' for (var key in parts) { text += key + ': ' + parts[key] + '\n' } document.getElementById('result').innerText = text }
<input type="text" id="url" value="https://github.com:8000/foo?bar#quz" /> <button id="parse">Parse</button> <pre id="result"></pre>