Установка cookie через JavaScript
Довольно часто требуется установить (или получить) для сайта куки с помощью JS. Ниже приведен пример кода, который всегда должен находится под рукой.
Код установки кук выглядит следующим образом
function setcookie(name, value, expires, path, domain, secure) { // + original by: Jonas Raoni Soares Silva (http://www.jsfromhell.com) expires instanceof Date ? expires = expires.toGMTString() : typeof(expires) == 'number' && (expires = (new Date(+(new Date) + expires * 1e3)).toGMTString()); var r = [name + "=" + escape(value)], s, i; for(i in s = {expires: expires, path: path, domain: domain}){ s[i] && r.push(i + "=" + s[i]); } return secure && r.push("secure"), document.cookie = r.join(";"), true; }
Значение куки установлено. Теперь попробуем его получить.
function getCookie(name) { var matches = document.cookie.match(new RegExp("(?:^|; )" + name.replace(/([\.$?*|{}\(\)\[\]\\\/\+^])/g, '\\$1') + "=([^;]*)")); return matches ? decodeURIComponent(matches[1]) : undefined; }
Ничего заоблачно умного к этом коде нет, да и не должно быть, это все-таки базовые вещи. Но менее полезным он от этого не становятся :)