Javascript – gérez vos cookies avec très peu de code

blog-petits-biscuits-de-noel-les-bonhommes-en-pain-d-epices_867118_490x326

 

 

 

J'aime beaucoup chercher sur le net des fonctions toutes faites, pour pouvoir les comparer aux miennes.
Dans l'idée de me faire un peu de challenge, et concernant les cookies, on trouve vraiment à boire et à manger ^^
Mais depuis quelques temps, je me suis mis à font dans les "regex" et je dois avouer que c'est impressionnant, la réduction de code que ça peut générer ^^

 

Pour vous donner un ordre d'idée, et pour revenir à mes cookies ;)
Quand on cherche des fameuses fonctions toutes faites, on tombe souvent sur des fonctions qui parsent les cookies à coup de split, de indexOf, ... on les voit qui s'amusent à parcourir chaque cookie pour définir si c'est celui-ci dont on veut récupérer la valeur ...

 

 

Bref tout sauf optimisé ^^

 

J'ai donc prit l'initiative de vous partager sur mon blog mes petites fonctions de gestion des cookies, utilisant bien sur les regex ;)

 

function setCookie(n,v,d,j) {
var dt=new Date();dt.setTime(dt.getTime()+(((j)?j:2)*86400000));
document.cookie=n+"="+v+";"+((d)?"domain="+d+";":"")+"path=/;expires="+dt.toUTCString()+";";
}

 

 

function getCookie(n) {
r=new RegExp(n+"\=(.*?)\;","i");rs=r.exec(document.cookie+";");
return (rs)?rs[1]:null;
}

 

 

function getListCookie(){
l=Array();r=/([A-Za-z1-9._^ _-]*?)\=(.*?)\;/g;
while ((c=r.exec(document.cookie+';'))) l[c[1]]=c[2];
return l;
}

 

 

function editCookie(n,v,d,j){setCookie(n,v,d,j);}

 

 

function delCookie(n,d) {setCookie(n,null,d,null);}

Partagez ce contenu

2 comments

Répondre à Adjen Annuler la réponse

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *