getUrlParameterValue
Javascript function to parse a given url and search for parameters values.
by Fobos Deimos
HTML
<div id="result"></div>
JavaScript
var testUrl1 = 'https://www.youtube.com/watch?v=qyCtwmlz1Dw';
var testUrl2 = 'http://www.amazon.it/s/ref=nb_sb_noss_2?&url=search-alias%3Daps&field-keywords=arduino';
//parameter ok but without value
var testUrl3 = 'https://www.youtube.com/watch?v=';
//multiple quesiton ? chars
var testUrl4 = 'http://www.amazon.it/s/ref=nb_sb_noss_2?&url=search-alias?Daps&field-keywords=arduino';
//search for parameter 'v' and 'field-keywords' in url
$('#result').append(getUrlParameterValue(testUrl1, 'v') + '<br/>');
$('#result').append(getUrlParameterValue(testUrl2, 'field-keywords') + '<br/>');
//search somethings not exist
$('#result').append(getUrlParameterValue(testUrl1, 'fake-parameter') + '<br/>');
$('#result').append(getUrlParameterValue(testUrl1, 'other-fake') + '<br/>');
$('#result').append(getUrlParameterValue(testUrl3, 'v') + '<br/>');
$('#result').append(getUrlParameterValue(testUrl4, 'url') + '<br/>');
function getUrlParameterValue(url, parameter) {
var questionSplit = url.split('?');
//prevent multiple split if more then one quesiton (?) char
questionSplit.shift();
var onlyParameters = questionSplit.join('?');
var splittedParameters = onlyParameters.split('&');
var found = false;
var value = null;
for (var c = 0; c < splittedParameters.length; c++) {
var parts = splittedParameters[c].split('=');
if (parts[0] == parameter) {
value = parts[1];
if ($.trim(value) == '') {
found = false;
} else {
found = true;
}
}
if (found) {
return value;
}
}
if (!found) {
return false;
}
}