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 !