Assainir une URL avec JavaScript
Concept et utilisation
La fonction urlSanitize()
permet d'assainir une URL et ses paramètres de requêtes.
Fonction
urlSanitize()
- Syntaxe
urlSanitize(options);
- Paramètre
options
(Object)Le paramètre
options
de la fonctionurlSanitize()
définit les éléments de l'URL à nettoyer.- Propriétés
url
(String)La propriété
url
du paramètreoptions
définit l'URL à assainir.
Si cette propriété est omise, l'URL de la page affichée sera utilisée par défaut.queriesWhitelist
(Array)keepHash
(Boolean)
Exemple de nettoyage d'URL
var options = {
url: 'https://www.domain.ext/?cle_1=valeur_1&cle_2=valeur_2#hash',
queriesWhitelist: [ 'cle_1' ],
keepHash: false
};
urlSanitize(options);
// renvoie : 'https://www.domain.ext/?cle_1=valeur_1'
Code source de la fonction
function urlSanitize(o) {
o = o || {};
var a = o.queriesWhitelist || [],
p = (o.url || window.location.href).split(/\#/),
h = (o.keepHash && p[1]) ? '#' + p[1] : '',
q = '';
p = p[0].split(/\?/);
if (p[1]) {
var r = p[1].split(/\&/);
if (typeof r[0] === 'string') {
for (var i = 0, j = r.length; i < j; i++) {
var s = r[i].split(/\=/);
for (var k = 0, l = a.length; k < l; k++) {
if (s[0] === a[k]) {
q += ((q !== '') ? '&' : '?') + s[0] + '=' + s[1];
}
}
}
}
}
return p[0] + q + h;
}
Dernière mise à jour le .