RichardCarlier.com

Analyser les querystrings en javascript

2014-07-31 10:48 — Développeur Front (javascript, jquery...)

Il arrive souvent que l'on ait besoin de passer des paramètres de page en page, y compris lors d'application javascript.

Comment récupérer la valeur d'un identifiant passé dans un lien, sous la forme fiche.html?id=4...

Il existe plusieurs méthodes, celle-ci est sans doute la plus simple. (NOTE 2018: non, voir plus bas...)

Créons pour cela une fonction:

/**
 * Analyse le window.location.href pour en récupérer un paramètre
 * https://richardcarlier.com/?p=366
 * @param {type} name
 * @returns {valeur ou null s'il n'existe pas}
 */
var getParam = function(nom) {
    var results = new RegExp('[\\?&]' + nom + '=([^&#]*)').exec(window.location.href);
    if (results) {
        return results[1] ;
    } else {
        return null;
    }
};

Pour l'utilisation, il suffit de préciser en argument le nom du paramètre que l'on souhaite, nous sera retourné sa valeur (ou null si elle n'existe pas).

// fiche.html?id=6
var id = getParam('id'); // retourne 6
var toto = getParam('toto'); // retourne null

Have fun !

Mise à jour 2018

Avec l'avancée du temps, JS a évolué. De nouvelles fonctionnalités sont apparues.

Pour analyser l'url courante, et en extraire des paramètres, voici une solution plus moderne.

// récupérer les paramètres dans une constante
const parametres = new URLSearchParams(window.location.search);
// analyser les valeurs
let id = parametres.get('id'); // null si absent, et sa valeur sinon

Have more fun !