Con una funzione in Javascript Puro sono facilmente recuperabili i valori dei parametri eventualmente presenti nella query string di un URL. La funzione è relativamente semplice e si avvale, per il recupero dei singoli parametri, di una regular expression; tale funzione accetta un parametro in ingresso che corrisponde appunto al nome del paramtro per il quale si intende recuperarne il valore, questo significa che per ogni parametro desiderato la funzione dovrà essere richiamata.
Di seguito la funzione in questione:
function getParameterByName(name, url) {
if (!url) {
url = window.location.href;
}
name = name.replace(/[[]]/g, "$&");
var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"),
results = regex.exec(url);
if (!results) return null;
if (!results[2]) return '';
return decodeURIComponent(results[2].replace(/+/g, " "));
}
Ed un esempio sul suo utilizzo:
// URL ipotetico: http://www.miosito.it?param1=tutorial& param2=javascript& param3=2
var param1 = getParameterByName('param1');
var param2 = getParameterByName('param2');
var param3 = getParameterByName('param3');
/*
Il contenuto delle tre variabili sarà rispettivamente:
tutorial
javascript
2
*/
Faccio presente che in caso di uno stesso parametro presente più di una volta in querystring, questa funzione non restituisce un array di valori bensì solo il valore del primo parametro (con lo stesso nome) incontrato. Di seguito una spiegazione esemplificativa di questo concetto:
// URL ipotetico: http://www.miosito.it?param1=tutorial& param1=javascript
var param1 = getParameterByName('param1');
// Il valore di param1, con la funzione in questione non sarà ["tutorial","javascript"] bensì il primo param1 presente ovvero, nel caso specifico, "tutorial"
Nessuno ha ancora commentato questo articolo, fallo tu per primo!
Scrivi un Commento