设置与获取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....