由于asp的cookie是经过url编码的,所以读之前要unescape一下。
下面是我用正则的方法取cookie,包括单值和多值:
/*
*************************************************
参数说明:
sMainName Cookie名
sSubName Cookie子键名,留空表示单值Cookie
************************************************* */
function GetCookie(sMainName, sSubName)
{
var re = new RegExp((sSubName ? sMainName + " =(?:.*?&)*? " + sSubName + " =([^&;$]*) " : sMainName + " =([^;$]*) " ), " i " );
return re.test(unescape(document.cookie)) ? RegExp[ " $1 " ] : "" ;
}
参数说明:
sMainName Cookie名
sSubName Cookie子键名,留空表示单值Cookie
************************************************* */
function GetCookie(sMainName, sSubName)
{
var re = new RegExp((sSubName ? sMainName + " =(?:.*?&)*? " + sSubName + " =([^&;$]*) " : sMainName + " =([^;$]*) " ), " i " );
return re.test(unescape(document.cookie)) ? RegExp[ " $1 " ] : "" ;
}
有不完善的话,欢迎指出。
本文转自博客园cloudgamer的博客,原文链接:Javascript 读cookie,如需转载请自行联系原博主。