Skip to content

Instantly share code, notes, and snippets.

@frentsel
Created August 18, 2015 08:24
Show Gist options
  • Save frentsel/41e0231cf78c80c5be4b to your computer and use it in GitHub Desktop.
Save frentsel/41e0231cf78c80c5be4b to your computer and use it in GitHub Desktop.
Cookie module
var _cookie = {
getCookie: function (name) {
var matches = document.cookie.match(new RegExp(
"(?:^|; )" + name.replace(/([\.$?*|{}\(\)\[\]\\\/\+^])/g, '\\$1') + "=([^;]*)"
));
return matches ? decodeURIComponent(matches[1]) : undefined;
},
setCookie: function (name, value, options) {
options = options || {};
var expires = options.expires;
if (typeof expires == "number" && expires) {
var d = new Date();
d.setTime(d.getTime() + expires * 1000);
expires = options.expires = d;
}
if (expires && expires.toUTCString) {
options.expires = expires.toUTCString();
}
value = encodeURIComponent(value);
var updatedCookie = name + "=" + value;
for (var propName in options) {
updatedCookie += "; " + propName;
var propValue = options[propName];
if (propValue !== true) {
updatedCookie += "=" + propValue;
}
}
document.cookie = updatedCookie;
},
deleteCookie: function(name) {
this.setCookie(name, "", {
expires: -1
})
}
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment