服务器端语言拿cookie时都是直接用封装好的函数,比如PHP 的setcookie() /$_COOKIE,JS没有现成的获取方法,或者说是JS的cookie操作是直接对浏览器中保存的所有cookie进行的一种操作。现把JS cookie的增查删方法都列出来:
<script type="text/javascript"> //添加cookie cookie名/值/过期时间 function addCookie(name,value,hours){ var str = name + "=" + escape(value); if(hours > 0){ //为0或为空时不设定过期时间,浏览器关闭时cookie自动消失 var date = new Date(); date.setTime(date.getTime() + hours*3600*1000); str += "; expires=" + date.toGMTString()+";path=/"; } document.cookie = str; } //获取指定名称的cookie的值(法一) function getCookie(name){ var arrStr = document.cookie.split("; "); for(var i = 0;i < arrStr.length;i ++){ var temp = arrStr[i].split("="); if(temp[0] == name) return unescape(temp[1]); } } //获取指定名称的cookie的值(法二) function getCookie(name){ var arr = document.cookie.match(new RegExp("(^| )"+name+"=([^;]*)(;|$)")); if(arr != null) return unescape(arr[2]); return null; } //删除cookie function delCookie(name){ document.cookie = name+"=;expires="+(new Date(0)).toGMTString(); } </script>
【参考】: