1. 程式人生 > 其它 >js對cookie增刪改查的封裝

js對cookie增刪改查的封裝

/**
 * 獲取cookie
 * @param name
 * @returns {*}
 */
function getCookie(name) {
    var cookieArr = document.cookie.split("; ");//使用"; "分割Cookie
    var cva = [], temp;
    //迴圈的得到Cookie名稱與值
    for (i = 0; i < cookieArr.length; i++) {
        temp = cookieArr[i].split("=");//用"="分割Cookie的名稱與值
        cva[temp[0]] = unescape(temp[1]);
    }
    if (name) {
        //如果有name則輸出這個name的Cookie值
        return cva[name];
    }
    else{
        //如果沒有name則輸出空陣列
        return cva;
    }
}
/**
 * 儲存cookie(儲存時間為30天)
 * @param name
 * @param value
 */
function setCookie(name, value) {
    var Days = 30;
    var exp = new Date();
    exp.setTime(exp.getTime() + Days * 24 * 60 * 60 * 1000);
    document.cookie = name + "=" + escape(value) + ";expires=" + exp.toGMTString() + ";path=/";
}
/**
 * 刪除cookie
 * @param name
 */
function delCookie(name) {
    var exp = new Date();
    exp.setTime(exp.getTime() - 1);
    var cval = getCookie(name);
    if (cval != null){
        document.cookie = name + "=" + cval + ";expires=" + exp.toGMTString() + ";path=/";
    }
}