在web程序设计中,有时我们使用javascript操作cookie的读写。以下几个方法实现对cookie的读取,写入和更改。javascript操作cookie其实就是对document下的cookie属性进行操作
一、写入cookie值,包括更新cookie值或者新增cookie值
name:cookie的键值对中的键,即cookie的名称。value:要设置的值。hours:过期时间
function WriteCookie(name,value,hours)
{
var expire="";
if(!isNaN(hours))
{
expire=new Date((new Date()).getTime()+hours*3600000);
expire=";expires="+expire.toGMTString()+";path=/";
}
document.cookie=name+"="+escape(value)+expire;
}
在设置cookie时指定了path,path=/表示所有网页都可以访问到该cookie;
二、读取cookie值
//读取cookie方法一
function readCookie(name) {
var cookieValue = "";
var search = name + "=";
var offset;
if (document.cookie.length > 0) {
offset = document.cookie.indexOf(search);
if (offset != -1) {
offset += search.length;
var end = document.cookie.indexOf(";", offset);
if (end == -1)
end = document.cookie.length;
cookieValue = unescape(document.cookie.substring(offset, end));
}
else {
return '';
}
}
return cookieValue;
}
///读取cookie方法二
//读取cookie
function getcookie(name) {
var strcookie = document.cookie;
var arrcookie = strcookie.split("; ");
for (var i = 0; i < arrcookie.length; i++) {
var arr = arrcookie[i].split("=");
if (arr[0] == name)
return arr[1];
}
return "";
}
三、删除cookies,只需要将cookie的过期时间设置为之前时间即可
function deleteCookie(name) {
var date = new Date();
date.setTime(date.getTime() - 10000);
document.cookie = name + "="+''+"; expire=" + date.toGMTString() + ";path=/";
}