javascript通过cookie读写key-value值
原载于:转www.载for网站制作学习asp必.cn究
<script language="javascript">
<!--
$(function(){
var forasp = new Object;
//javascript写入cookie
forasp.cn_write = function(sN,sV,sE,sP,sD,sS){//sN表示cookie名称,sV表示cookie值,sE表示过期时间,sP表示路径,sD表示域,sS比奥斯安全标志
if(sN=="")return;
var tCookie = sN + "=" + encodeURIComponent(sV);
if(sE){tCookie +=";expires ="+sE.toGMTString();}
if(sP){tCookie +=";path="+sP;}else{tCookie +=";path=/";}
if(sD){tCookie +=";domain="+sD;}
if(sS){tCookie +=";"+sS;}
document.cookie = tCookie;
}
//获取cookie值
forasp.cn_read = function(sN){
var sR = "(?:;)?"+sN+"=([^;]*);?";//解释一下该正则(?:;)?表示:?:非捕获性,即第一次匹配不捕获,";"至少出现0次或者1次。"=([^;]*);"表示"="加上任意个非";"字符加上0到1次的";"
var sF = new RegExp(sR);
if (sF.test(document.cookie))
return decodeURIComponent(RegExp["$1"]);
else
return null;
}
//删除cookie的值
forasp.cn_del = function(sN,sP,sD){//sN表示名称,sP表示路径,sD表示域
//如果没有sPsD参数则调用forasp.cn_write(sN,"",new Date(0))
forasp.cn_write(sN,"",new Date(0),sP,sD);
}
//定义写单个的ip group
forasp.addip = function(ip,group){
if(ip==""||group=="")return;
var oldstr = this.cn_read("cmd_ip")
if(!oldstr){
this.cn_write("cmd_ip",ip+"|"+group);
}else{
var old_ig = oldstr.split(",");
var old_ign= old_ig.length;
for(var i = 0 ;i<old_ign;++i){
var t_old_iga = old_ig[i].split("|");
if(ip==t_old_iga[0])return;
}
this.cn_write("cmd_ip",oldstr+","+ip+"|"+group);
}
}
//定义获取所有的ip
forasp.allip =function(){
var oldstr = this.cn_read("cmd_ip")
if(!oldstr)return;
var old_ig = oldstr.split(",");
var old_ign= old_ig.length;
var cmd_ip_ar = new Array();
for(var i = 0 ;i<old_ign;++i){
var t_old_iga = old_ig[i].split("|");
cmd_ip_ar[t_old_iga[0]] = t_old_iga[1];
}
return cmd_ip_ar;
}
//定义删除单个IP
forasp.del =function(ip,group){
if(ip==""||group=="")return;
var oldstr = this.cn_read("cmd_ip")
var old_ig = oldstr.split(",");
var old_ign= old_ig.length;
var new_cmd_ip = new Array();
var j=0;
for(var i = 0 ;i<old_ign;++i){
var t_old_iga = old_ig[i].split("|");
if(ip!=t_old_iga[0])new_cmd_ip[j++]= old_ig[i];
}
oldstr = new_cmd_ip.join(",");
//否则进行添加
if(oldstr=="")
this.cn_write("cmd_ip","");
else
this.cn_write("cmd_ip",oldstr)
}
//forasp.cn_write("cmd_ip","");
//forasp.cn_del("cmd_ip");
$("#add").click(function(){
forasp.addip($("#ip").val(),$("#group").val());
});
$("#del").click(function(){
forasp.del($("#ip").val(),$("#group").val());
});
$("#allip").click(function(){
var a = forasp.allip();
for(var key in a) { alert(key+" : "+a[key]); }
})
$("#clear").click(function(){
forasp.cn_del("cmd_ip");
alert(forasp.cn_read("cmd_ip"));
})
});
//document.write(new Date(0));
-->
</script>
运行代码
<!DOCTYPE html>
<html>
<head>
<title>javascript通过cookie读写key-value值</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<script type="text/javascript" src="jquery-1.9.1.min.js"></script>//这里是引入的jquery的值
<script language="javascript">
</head>
<body>
<input type="text" id="group">
<input type="text" id="ip">
<input type="button" value="add" id="add">
<input type="button" value="del" id="del">
<input type="button" value="allip" id="allip">
<input type="button" value="clear" id="clear">
</body>
</html>
原载于:本文原载于www.forasp.cn