snipt

Ctrl+h for KB shortcuts

JavaScript

Parse urls easily with js

// http://tutorialzine.com/2013/07/quick-tip-parse-urls/

$(function(){

    // The URL we want to parse
    var url = 'http://example.com/things/?key=value#comments';

    // The magic: create a new anchor element, and set the URL as its href attribute.
    // Note: accessing the DOM element inside the jQuery object with [0]
    var a = $('<a>', { href:url } )[0];

    var hostname = a.hostname; // example.com
    var path = a.pathname; // /things/
    var query = a.search; // ?key=value
    var hash = a.hash; // #comments
    var posr = a.port;
    var protocol = a.protocol;
    var origin = a.origin // not available in older IE versions

});
https://snipt.net/embed/6594412a574a564fba53f5fcbba1a422/
/raw/6594412a574a564fba53f5fcbba1a422/
6594412a574a564fba53f5fcbba1a422
js
JavaScript
20
2019-07-19T14:32:06
True
False
False
/api/public/snipt/66657/
parse-urls-easilt-with-js
<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><a href="#L-1"> 1</a> <a href="#L-2"> 2</a> <a href="#L-3"> 3</a> <a href="#L-4"> 4</a> <a href="#L-5"> 5</a> <a href="#L-6"> 6</a> <a href="#L-7"> 7</a> <a href="#L-8"> 8</a> <a href="#L-9"> 9</a> <a href="#L-10">10</a> <a href="#L-11">11</a> <a href="#L-12">12</a> <a href="#L-13">13</a> <a href="#L-14">14</a> <a href="#L-15">15</a> <a href="#L-16">16</a> <a href="#L-17">17</a> <a href="#L-18">18</a> <a href="#L-19">19</a> <a href="#L-20">20</a></pre></div></td><td class="code"><div class="highlight"><pre><span></span><span id="L-1"><a name="L-1"></a><span class="c1">// http://tutorialzine.com/2013/07/quick-tip-parse-urls/</span> </span><span id="L-2"><a name="L-2"></a> </span><span id="L-3"><a name="L-3"></a><span class="nx">$</span><span class="p">(</span><span class="kd">function</span><span class="p">(){</span> </span><span id="L-4"><a name="L-4"></a> </span><span id="L-5"><a name="L-5"></a> <span class="c1">// The URL we want to parse</span> </span><span id="L-6"><a name="L-6"></a> <span class="kd">var</span> <span class="nx">url</span> <span class="o">=</span> <span class="s1">&#39;http://example.com/things/?key=value#comments&#39;</span><span class="p">;</span> </span><span id="L-7"><a name="L-7"></a> </span><span id="L-8"><a name="L-8"></a> <span class="c1">// The magic: create a new anchor element, and set the URL as its href attribute.</span> </span><span id="L-9"><a name="L-9"></a> <span class="c1">// Note: accessing the DOM element inside the jQuery object with [0]</span> </span><span id="L-10"><a name="L-10"></a> <span class="kd">var</span> <span class="nx">a</span> <span class="o">=</span> <span class="nx">$</span><span class="p">(</span><span class="s1">&#39;&lt;a&gt;&#39;</span><span class="p">,</span> <span class="p">{</span> <span class="nx">href</span><span class="o">:</span><span class="nx">url</span> <span class="p">}</span> <span class="p">)[</span><span class="mi">0</span><span class="p">];</span> </span><span id="L-11"><a name="L-11"></a> </span><span id="L-12"><a name="L-12"></a> <span class="kd">var</span> <span class="nx">hostname</span> <span class="o">=</span> <span class="nx">a</span><span class="p">.</span><span class="nx">hostname</span><span class="p">;</span> <span class="c1">// example.com</span> </span><span id="L-13"><a name="L-13"></a> <span class="kd">var</span> <span class="nx">path</span> <span class="o">=</span> <span class="nx">a</span><span class="p">.</span><span class="nx">pathname</span><span class="p">;</span> <span class="c1">// /things/</span> </span><span id="L-14"><a name="L-14"></a> <span class="kd">var</span> <span class="nx">query</span> <span class="o">=</span> <span class="nx">a</span><span class="p">.</span><span class="nx">search</span><span class="p">;</span> <span class="c1">// ?key=value</span> </span><span id="L-15"><a name="L-15"></a> <span class="kd">var</span> <span class="nx">hash</span> <span class="o">=</span> <span class="nx">a</span><span class="p">.</span><span class="nx">hash</span><span class="p">;</span> <span class="c1">// #comments</span> </span><span id="L-16"><a name="L-16"></a> <span class="kd">var</span> <span class="nx">posr</span> <span class="o">=</span> <span class="nx">a</span><span class="p">.</span><span class="nx">port</span><span class="p">;</span> </span><span id="L-17"><a name="L-17"></a> <span class="kd">var</span> <span class="nx">protocol</span> <span class="o">=</span> <span class="nx">a</span><span class="p">.</span><span class="nx">protocol</span><span class="p">;</span> </span><span id="L-18"><a name="L-18"></a> <span class="kd">var</span> <span class="nx">origin</span> <span class="o">=</span> <span class="nx">a</span><span class="p">.</span><span class="nx">origin</span> <span class="c1">// not available in older IE versions</span> </span><span id="L-19"><a name="L-19"></a> </span><span id="L-20"><a name="L-20"></a><span class="p">});</span> </span></pre></div> </td></tr></table>