设置与获取Cookie

自己编写的一个Cookie设置与获取函数,大家有什么感觉需要改进的地方,请告知与我,我一定虚心接受。

JavaScript - Code:

function setCookie(name,value,expires,domain,path,secure){
    var result = '';
    if(name && value){
         result = name +'=' + encodeURIComponent(value)
    }else{
        alert('请输入正确的cookie名称与值')
        return false;
    }
    if(expires){
        var expires = expires.toLowerCase(),
            firstWord = expires.slice(0,1),
            lastWord = expires.slice(1,expires.length),
            addValue = 0,
            date = new Date();

        if(!isNaN(lastWord)) addValue = parseInt(lastWord);

        switch(firstWord){
            case 's':date.setSeconds(date.getSeconds()+addValue);break;
            case 'm':date.setMinutes(date.getMinutes()+addValue);break;
            case 'h':date.setHours(date.getHours()+addValue);break;
            case 'd':date.setDate(date.getDate()+addValue);break;
            case 'y':date.setFullYear(date.getFullYear()+addValue);break;
            default:alert('时间参数错误,请检查!');
        }
        result += ';expires=' + date;
    }
    if(domain) result += ';domain=' + domain;
    if(path) result += ';path=' + path;
    if(secure) result += ';secure';
    document.cookie = result;
}

function getCookie(name){
    
    if(name && RegExp("(^| )" + name + "=([^;]*)(;|$)").exec(document.cookie)) return RegExp.$2;
        // (^| ) 不匹配第一个空格。
        // ([^;]*) 只匹配除了;号之外的所有字符。
        // (;|$) 匹配以;号或$为结尾的字符。
}

  

使用说明:

  * setCooke的参数必须按照顺序依次是:name,value,expires,domain,path,secure;

  * expires的值,其格式是:时间+数值。

    时间的前缀有:s (秒) 、m (分) 、h(时) 、d (天) 、y (年)。

    示例:s20、m30....

posted @ 2015-10-22 16:02  卷柏的花期  阅读(345)  评论(0编辑  收藏  举报