js读取Cookies

2025-05-23 07:51:51
推荐回答(2个)
回答1:

简单读取
var the_cookie = document.cookie;
var broken_cookies = the_cookie.split(":");
var the_first = broken_cookies[0];
var the_name=the_first.split("=")[0];
var the_value = the_first.split("=")[1];
复杂的读取
// load the cookie into a variable and unescape it

var the_cookie = document.cookie;

var the_cookie = unescape(the_cookie);

// separate the values from the cookie name

var broken_cookie = the_cookie.split("=");

var the_values = broken_cookie[1];

// break each name:value pair into an array

var separated_values = the_values.split("/");

某个特定的cookie:
function WM_readCookie(name)
{

//如果没有cookie则返回false或者取得值并返回该值
if(document.cookie == '')
return false;
else
return
unescape(WM_getCookieValue(name));
}

function WM_getCookieValue(name)
{

// Declare variables.

var firstChar,lastChar;

// Get the entire cookie string.
// (This may have other
name=value pairs in it.)

var theBigCookie = document.cookie;

// Grab
just this cookie from theBigCookie string.

// Find the start of
'name'.

firstChar = theBigCookie.indexOf(name);

// If you found it,

if(firstChar != -1)
{

// skip 'name' and '='.

firstChar +=
name.length + 1;

// Find the end of the value string (i.e. the next
';').

lastChar = theBigCookie.indexOf(';', firstChar);

if(lastChar == -1) lastChar = theBigCookie.length;

// Return the
value.

return theBigCookie.substring(firstChar, lastChar);

} else
{

// If there was no cookie, return false.

return false;

}

}

回答2:

JS读取cookie:
假设cookie中存储的内容为:name=jack;password=123
则在B页面中获取变量username的值的JS
代码如下:

var username=document.cookie.split(";")[0].split("=")[1];
//JS操作cookies方法!
//写cookies
function setCookie(name,value)
{
var Days = 30;
var exp = new Date();
exp.setTime(exp.getTime() + Days*24*60*60*1000);
document.cookie = name + "="+ escape (value) + ";expires=" + exp.toGMTString();
}

读取cookies
function getCookie(name)
{
var arr,reg=new RegExp("(^| )"+name+"=([^;]*)(;|$)");
if(arr=document.cookie.match(reg))
return unescape(arr[2]);
else
return null;
}