Read and Write Cookies

by amindunited

HTML

<button class="add_cookie">
  Add
</button>
<button class="remove_cookie">
  Remove
</button>
<button class="get_cookie">
  Get
</button>

JavaScript

let numCookies = 0;

function getAllCookies () {
	return document.cookie;
}

function getCookie(name) {
    var v = document.cookie.match('(^|;) ?' + name + '=([^;]*)(;|$)');
    return v ? v[2] : null;
}

function setCookie(name, value, days) {
    var d = new Date;
    d.setTime(d.getTime() + 24*60*60*1000*days);
    document.cookie = name + "=" + value + ";path=/;expires=" + d.toGMTString();
}

function deleteCookie(name) { setCookie(name, '', -1); }

const addBtn = document.querySelector('.add_cookie');
const removeBtn = document.querySelector('.remove_cookie');
const getBtn = document.querySelector('.get_cookie');

console.log('get all cookies', getAllCookies());

addBtn.addEventListener('click', () => {
	numCookies++;
  console.log('adding', 'cookie_'+numCookies);
	setCookie('cookie_' + numCookies, 'this is cookie_' + numCookies, 1);
});

removeBtn.addEventListener('click', () => {

  console.log('removing', 'cookie_'+numCookies);
  deleteCookie('cookie_' + numCookies);
  if (numCookies > 0 ) { numCookies--; }
});

getBtn.addEventListener('click', () => {
	let cookie = getCookie('cookie_' + numCookies);
  console.log('cookies ', numCookies, cookie);
});