Analyser les querystrings en javascript

Attention:  cet article date du 31 juillet 2014
Ce qu'il contient est peut être encore valable...
... ou complètement obsolète!

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 !

Laisser une réponse