JavaScript操作Cookie 之 CRUD
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>JS操作Cookie</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<script type="text/javascript">
<!--
/**
* JS操作Cookie
*
* @Author Qipan Lee
* @Email imqipan@gmail.com
* @Date 2011-06-16
*
*/
String.prototype.trim = function() {
return this.toString().replace(/((^\s)* |(\s$))*/g, '');
}
/** 删除所有 */
function delCookies() {
var cookarr=document.cookie.toString().split(";");
var timeout = new Date();
timeout.setTime(timeout.getTime() - 1);
for (var i=0;i<cookarr.length;i++){
var cookarrsub=cookarr[i].split(":");
document.cookie=cookarrsub[0]+"="+cookarrsub[1]+";expires="+timeout.toString();
}
}
/** 删除指定 */
function delCookieBy(key) {
var timeout = new Date();
timeout.setTime(timeout.getTime() - 1);
var val=getCookieValueBy(key);
if(val != null) document.cookie = key + "=" + val + ";expires=" + timeout.toGMTString();
}
/** 获取指定Cookie */
function getCookieValueBy(key) {
var cookieArr = document.cookie.toString().split(";");
for (var i=0; i<cookieArr.length; i++){
var cookieSubArr = cookieArr[i].split("=");
if (cookieSubArr[0].trim() === (key + '')){
return cookieSubArr[1];break;
}
}
return undefined;
}
/** 更新Cookie */
function updateCookie(key, value) {
addCookie (key, value);
}
/** 添加Cookie,假如Cookie已存在,则直接更新 */
function addCookie (key, value) {
window.document.cookie = key + "=" + value;
return true;
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/** 测试 */
function testView(){
alert(window.document.cookie);
}
//-->
</script>
</head>
<body>
<button value="添加" οnclick="addCookie(1, 'a')">添加1</button>
<button value="添加" οnclick="addCookie(2, 'b')">添加2</button>
<button value="添加" οnclick="addCookie(3, 'c')">添加3</button>
<button value="添加" οnclick="addCookie(4, 'd')">添加4</button>
<button value="添加" οnclick="delCookieBy(4, 'd')">删除4</button>
<button value="添加" οnclick="addCookie(4, 'e')">更新4为e</button>
<button value="添加" οnclick="alert(getCookieValueBy(4));">查看4的值</button>
<button value="查看当前cookie" οnclick="testView(4, 'd')">查看</button>
</body>
</html>