JSFiddle - React, Tailwind, and code Playground
by Exceeder
HTML
<pre id="res"></pre>
CSS
#res { border:#444 1px solid; }
JavaScript
var t = ['http://example.com/whatever#page?x=1&locale=hu&y=2'
,'http://example.com/whatever#page?x=1&locale=hu'
,'http://example.com/whatever#page?locale=hu'
,'http://example.com/whatever#page?locale='
,'http://example.com/whatever#page?x=1'
,'http://example.com/whatever#page'
,'http://example.com/whatever'];
var i, s, r;
for (i=0; i<t.length; i++) {
s = t[i];
var match = s.match(/#.*[?&]locale=([^&]+)(&|$)/);
r = (match ? match[1] : "");
//if (s.indexOf('locale=')<0)
// r = '';
//else
// r = t[i].replace(/.*?locale=(.*?)(&|$).*/,'$1');
$('#res').append(r+'\n');
}