让前端飞

cookie的使用

2017-06-15  本文已影响0人  jiaomeichen

1.使用场景

2.cookie的设置

1、document.cookie = 'userId=121;phone=1311111111';
2、document.cookie="str="+escape("I love ajax");(相当于document.cookie="str=I%20love%20ajax";为了避免空格符号等,使用escape()统一编码)
3、当使用escape()编码后,在取出值以后需要使用unescape()进行解码才能得到原来的cookie值。
1、document.cookie直接获取所有的cookie
2、若想获得单个cookie,需要进行字符串和数组的相关操作。
1、删除cookie,可将其过期时间设定为一个过去的值。

3.函数

function addCookie(name,value,time){
    var str = name+"="+escape(value);
    if(time>0){//time为0时不设定过期事件,浏览器关闭时cookie自动消失    
        var date = new Date();
        var ms = time*24*3600*1000;
        date.setTime(date.getTime()+ms);
        str += ";expires="+date.toGMTString()+";path=/"; 
        document.cookie = str;
    }
}
function getCookie(name) {
    if(document.cookie.length > 0) {
        c_start = document.cookie.indexOf(name + "=")
        if(c_start != -1) {
            c_start = c_start + 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 ""
}
function deleteCookie(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=/";
}
function checkCookie(name) {
    var c = document.cookie.indexOf(name);
    if(c != -1) {
        return true;
    } else {
        return false;
    }
}
function updateCookie(name, value, time) {
    var str = name + "=" + escape(value);
    var date = new Date();
    var ms = time * 24 * 3600 * 1000;
    date.setTime(date.getTime() + ms);
    str += ";expires=" + date.toGMTString() + ";path=/";
    document.cookie = str;
}

4.使用案例(记住密码-部分代码)

html image.png javascript
上一篇 下一篇

猜你喜欢

热点阅读