Día 10: Crear, leer y eliminar cookies con JS

Con este pequeño conjunto de funciones podrás crear, leer y eliminar cookies con Javascript sin ayuda de ningún plugin o librería externa.

Script

// mini-jQuery
var $ = function (id) { return document.getElementById(id); };

// Caché
$set = $('set');
$read = $('read');
$delete = $('delete');
$logs = $('logs');

// Logs en textarea
var log = function (log) { $logs.value = log + '\n' + $logs.value; }

// Crear Cookie
var crearCookie = function (key, value) {
    expires = new Date();
    expires.setTime(expires.getTime() + 31536000000);
    cookie = key + "=" + value + ";expires=" + expires.toUTCString();
    log("crearCookie: " + cookie);
    return document.cookie = cookie;
}

// Leer Cookie
var leerCookie = function (key) {
    keyValue = document.cookie.match("(^|;) ?" + key + "=([^;]*)(;|$)");
    if (keyValue) {
        log("getCookie: " + key + "=" + keyValue[2]);
        return keyValue[2];
    } else {
        log("getCookie: " + key + "=" + "null");
        return null;
    }
}

// Eliminar Cookie
var eliminarCookie = function (key) {
    log("eliminarCookie: " + key);
    return document.cookie = key + '=;expires=Thu, 01 Jan 1970 00:00:01 GMT;';
}

// Botones para Demo
$set.onclick = function () {
    key = $('key').value;
    value = $('value').value;
    crearCookie(key, value);
}
$read.onclick = function () {
    key = $('key-read').value;
    leerCookie(key);
}
$delete.onclick = function () {
    key = $('key-delete').value;
    eliminarCookie(key);
}

Demo


Pero, Kinduff, yo sólo quiero las funciones

Ok.

// Crear Cookie
var crearCookie = function (key, value) {
    expires = new Date();
    expires.setTime(expires.getTime() + 31536000000); // Estableces el tiempo de expiración, genius
    cookie = key + "=" + value + ";expires=" + expires.toUTCString();
    return document.cookie = cookie;
}

// Leer Cookie
var leerCookie = function (key) {
    keyValue = document.cookie.match("(^|;) ?" + key + "=([^;]*)(;|$)");
    if (keyValue) {
        return keyValue[2];
    } else {
        return null;
    }
}

// Eliminar Cookie
var eliminarCookie = function (key) {
    return document.cookie = key + '=;expires=Thu, 01 Jan 1970 00:00:01 GMT;';
}

palabras / Compartir en: Facebook , Twitter o copiar enlace