[js] 用js封装一个对cookie操作的方法

haizhilin2013
2019-11-20 04:40:08 星期三
js
                    
                        
用js封装一个对cookie操作的方法
Comments per page
< Page 1 / 1 >
Lanbasara 2019-11-19 21:41:42
function cookieSetter(operate,name,value){
    switch(operate){
        case 'set':
            var exp = new Date();
            exp.setTime(exp.getTime()+30*24*60*60*1000);
            document.cookie = name + "=" + escape(value) + ";expires=" + exp.toUTCString();
            break;
        case 'get':
            var arr,reg=new RegExp("(^| )"+name+"=([^;]*)(;|$)");
            if(arr=document.cookie.match(reg)){
                return unescape(arr[2]); 
            } else {
                return null; 
            } 
    }
}
zeroone001 2019-11-20 02:37:06
// getCookie 两种方法,一种正则,一种for循环
function getCookie (name) {
    let cookieArr = document.cookie.split('; ');
    let len = cookieArr.length;

    for (let i = 0; i < len; i++) {
        let item = cookieArr[i].split('=');
        if (name === item[0]) {
            return decodeURIComponent(item[1]);
        }
    }
    return '';
}
function getCookie2 (name) {
    let reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)');
    let arr = document.cookie.match(reg);
    if (arr) {
        return decodeURIComponent(arr[2]);
    } else {
        return '';
    }
}
zeroone001 2019-11-20 02:37:50
function cookieSetter(operate,name,value){
    switch(operate){
        case 'set':
            var exp = new Date();
            exp.setTime(exp.getTime()+30*24*60*60*1000);
            document.cookie = name + "=" + escape(value) + ";expires=" + exp.toUTCString();
            break;
        case 'get':
            var arr,reg=new RegExp("(^| )"+name+"=([^;]*)(;|$)");
            if(arr=document.cookie.match(reg)){
                return unescape(arr[2]); 
            } else {
                return null; 
            } 
    }
}

unescape 已经废弃,不建议使用

学习不打烊,充电加油只为遇到更好的自己,365天无节假日,每天早上5点纯手工发布前端知识点(死磕自己,愉悦大家)。希望大家在这浮夸的前端圈里,保持冷静,坚持每天花20分钟来学习与思考。在这千变万化,类库层出不穷的前端,建议大家不要等到找工作时,才狂刷题,提倡每日学习!欢迎大家关注3+1开源项目!希望大家每人去学习与思考!(不要为了谁而来,要为自己而努力!

【关注官方公众号】 每天4:30-5:00推送
【公众号推荐】 一起折腾前端算法
【微信学习群】 备注3+1