How do I create and read a value from cookie? How do I create and read a value from cookie? javascript javascript

How do I create and read a value from cookie?


Here are functions you can use for creating and retrieving cookies.

function createCookie(name, value, days) {    var expires;    if (days) {        var date = new Date();        date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));        expires = "; expires=" + date.toGMTString();    }    else {        expires = "";    }    document.cookie = name + "=" + value + expires + "; path=/";}function getCookie(c_name) {    if (document.cookie.length > 0) {        c_start = document.cookie.indexOf(c_name + "=");        if (c_start != -1) {            c_start = c_start + c_name.length + 1;            c_end = document.cookie.indexOf(";", c_start);            if (c_end == -1) {                c_end = document.cookie.length;            }            return unescape(document.cookie.substring(c_start, c_end));        }    }    return "";}


Minimalistic and full featured ES6 approach:

const setCookie = (name, value, days = 7, path = '/') => {  const expires = new Date(Date.now() + days * 864e5).toUTCString()  document.cookie = name + '=' + encodeURIComponent(value) + '; expires=' + expires + '; path=' + path}const getCookie = (name) => {  return document.cookie.split('; ').reduce((r, v) => {    const parts = v.split('=')    return parts[0] === name ? decodeURIComponent(parts[1]) : r  }, '')}const deleteCookie = (name, path) => {  setCookie(name, '', -1, path)}


JQuery Cookies

or plain Javascript:

function setCookie(c_name,value,exdays){   var exdate=new Date();   exdate.setDate(exdate.getDate() + exdays);   var c_value=escape(value) + ((exdays==null) ? "" : ("; expires="+exdate.toUTCString()));   document.cookie=c_name + "=" + c_value;}function getCookie(c_name){   var i,x,y,ARRcookies=document.cookie.split(";");   for (i=0; i<ARRcookies.length; i++)   {      x=ARRcookies[i].substr(0,ARRcookies[i].indexOf("="));      y=ARRcookies[i].substr(ARRcookies[i].indexOf("=")+1);      x=x.replace(/^\s+|\s+$/g,"");      if (x==c_name)      {        return unescape(y);      }   }}