Voici un petit snippets de code pour remplacer très simplement un paramètre en javascript dans une URL. En effet, il arrive parfois de devoir faire ce type d’opération de remplacement « replace » sur une url en javascript, inutile de passer par un traitement serveur pour réaliser une action aussi simple…
C’est l’heure de réviser vos expressions régulières 🙂
url = window.location.href; a_href = url.replace(/(mon_parametre=)[^\&]+/, '$1' + ma_nouvelle_valeur);
Voila, pour l’explication de texte, cette ligne de code va remplacer la valeur de « mon_parametre » par « ma_nouvelle_valeur ». Cette expression régulière assez simple mais efficace, va chercher le nom de l’attribut suivi du égale et remplacer la valeur jusqu’au ‘&’ suivant.
Quelques documentations sur les expressions régulières et la fonction replace de javascript :
Ou alors il y a http://medialize.github.io/URI.js/. Une dépendance en plus mais ça rend quand même la chose beaucoup plus simple.
Et ca fonctionnera aussi si le paramètre se nomme « mon_Parametre » ou « Mon_paRametre » ?
Que se passe-t’il si ton paramètre est à la fin de l’URL, et donc il n’y a pas de ‘&’ après lui?