封装自己的cookie设置和获取的方法

项目中对cookie的操作是比较频繁的,因此我们封装起来一个方法供调用。
我们采用ES6封装为一个js,供外界引入调用。

let cookie = document.ccokie,
    encode = encodeURIComponent,
    decode = decodeURLComponent;
export default {
    // 获取cookie
    get (key) {
    	// 下面的正则:若要找的key在第一个,需要匹配开头;若不是第一个,一定是以空格开头的
        let reg = new RegExp('(?:^| )' + encode(key) + '=([^;]+)');
        let result = cookie.match(reg);
        return result && decode(result[1]);
    },
    set (key, value, expires, domain, path, excure) {
        //设置cookie时,过期时间提供单位为天,如果没有给,那么默认过期时间是一天。
        // 域名没有给,会设置到当前地址的顶级域名下,各个子域名均可使用
        cookie = encode(key) + '=' + encode(value) + '; expires=' + new Date((new Date + (typeof expires !== 'undefined' ? expires : 1)) * 24 * 60 * 60).toGMTString() + '; path=' + path ? path : '/' +'; domain=' + domain ? domain : document.domain.splict('.').slice(-2).join('.') + '; execure=' + excure;
    },
    remove (key,domain, path, execure) {
        this.set(key, '', 0, domain, path, execure);
    }
}

你可能感兴趣的:(JavaScript)