MICHELEPISANI.IT
 

Senza bisogno di jQuery o di altre librerie esterne

Recuperare Valori in Query String con una Funzione in Javascript Puro

Marzo 19
07:542017

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"

Tags
Condividi

Autore

Michele Pisani

Michele Pisani

Ho uno spiccato orientamento al problem-solving, se è troppo facile non mi diverto :)
Credo nella volontà e nel cambiamento perchè hanno fatto della mia passione il mio pane quotidiano.
Se devo descrivermi con una sola parola direi... "Concretezza", la mia stretta di mano è una garanzia.

0 Commenti

Non ci sono commenti

Nessuno ha ancora commentato questo articolo, fallo tu per primo!

Scrivi un Commento

Scrivi un Commento

Il tuo indirizzo email non sarà pubblicato.
I campi contrassegnati da un * sono obbligatori

Articoli e Argomenti correlati

Categorie popolari

Iscriviti alla mia newsletter

La tua e-mail con me sarà al sicuro.
Non fornirò mai le tue informazioni a nessuno!

Ultimi commenti

Michele Pisani

Ciao alessandro,
questa regex dovrebbe fare al caso tuo:

alessandro

ciao sto cercando una regex per numeri interi o decimali, positivi o negativi; la tua regex mi pare …

Michele Pisani

Ciao Nicola,
ti riferisci per caso alla situazione di gianluigi?
In tutti i casi la via …

Nicola

Ciao Michele, mi trovo nella medesima situazione in cui si trovava Gianluca un anno fa. Sei poi …