<script>

//写cookies函数
function SetCookie(name,value)//两个参数,一个是cookie的名子,一个是值
{
    var Days = 30; //此 cookie 将被保存 30 天
    var exp  = new Date();    //new Date("December 31, 9998");
    exp.setTime(exp.getTime() + Days*24*60*60*1000);
    document.cookie = name + "="+ escape (value) + ";expires=" + exp.toGMTString();
}
function getCookie(name)//取cookies函数        
{
    var arr = document.cookie.match(new RegExp("(^| )"+name+"=([^;]*)(;|$)"));
     if(arr != null) return unescape(arr[2]); return null;

}
function delCookie(name)//删除cookie
{
    var exp = new Date();
    exp.setTime(exp.getTime() - 1);
    var cval=getCookie(name);
    if(cval!=null) document.cookie= name + "="+cval+";expires="+exp.toGMTString();
}

SetCookie ("xiaoqi", "3")
alert(getCookie('xiaoqi'));
</script>

一个非常实用的javascript读写Cookie函数

一个非常实用的javascript读写Cookie函数  
function  GetCookieVal(offset)
//获得Cookie解码后的值
{
var  endstr  =  documents.cookie.indexOf  (";",  offset);
if  (endstr  ==  -1)
endstr  =  documents.cookie.length;
return  unescape(documents.cookie.substring(offset,  endstr));
}
function  SetCookie(name,  value)
//设定Cookie值
{
var  expdate  =  new  Date();
var  argv  =  SetCookie.arguments;
var  argc  =  SetCookie.arguments.length;
var  expires  =  (argc  >  2)  ?  argv[2]  :  null;
var  path  =  (argc  >  3)  ?  argv[3]  :  null;
var  domain  =  (argc  >  4)  ?  argv[4]  :  null;
var  secure  =  (argc  >  5)  ?  argv[5]  :  false;
if(expires!=null)  expdate.setTime(expdate.getTime()  +  (  expires  *  1000  ));
documents.cookie  =  name  +  "="  +  escape  (value)  +((expires  ==  null)  ?  ""  :  (";  expires="+  expdate.toGMTString()))
+((path  ==  null)  ?  ""  :  (";  path="  +  path))  +((domain  ==  null)  ?  ""  :  (";  domain="  +  domain))
+((secure  ==  true)  ?  ";  secure"  :  "");
}
function  DelCookie(name)
//删除Cookie
{
var  exp  =  new  Date();
exp.setTime  (exp.getTime()  -  1);
var  cval  =  GetCookie  (name);
documents.cookie  =  name  +  "="  +  cval  +  ";  expires="+  exp.toGMTString();
}
function  GetCookie(name)
//获得Cookie的原始值
{
var  arg  =  name  +  "=";
var  alen  =  arg.length;
var  clen  =  documents.cookie.length;
var  i  =  0;
while  (i  <  clen)
{
var  j  =  i  +  alen;
if  (documents.cookie.substring(i,  j)  ==  arg)
return  GetCookieVal  (j);
i  =  documents.cookie.indexOf("  ",  i)  +  1;
if  (i  ==  0)  break;
}
return  null;
}

<SCRIPT  language="javascript">
<!--
function  openpopup(){
url="popup.htm"
window.open("gonggao.htm","gonggao","width=260,height=212,left=200,top=0")
}

function  get_cookie(Name)  {
var  search  =  Name  +  "="
var  returnvalue  =  "";
if  (documents.cookie.length  >  0)  {
offset  =  documents.cookie.indexOf(search)
if  (offset  !=  -1)  {
offset  +=  search.length
end  =  documents.cookie.indexOf(";",  offset);
if  (end  ==  -1)
end  =  documents.cookie.length;
returnvalue=unescape(documents.cookie.substring(offset,  end))
}
}
return  returnvalue;
}

function  helpor_net(){
if  (get_cookie('popped')==''){
openpopup()
documents.cookie="popped=yes"
}
}
helpor_net()
//-->
</SCRIPT>

如果点了确定,只要不清cookie,以后访问都不会再提示,如果不点确定则每次都会提示。放在js文件里,全站包含

<SCRIPT LANGUAGE="JavaScript">
<!--
var the_cookie = document.cookie;
var broken_cookie = the_cookie.split(":");
var the_visiteraccepted = unescape(broken_cookie[1]);
//
if (the_visiteraccepted=="undefined"){
        var tmp=confirm('中国人何时何地。');
        if(tmp==false){
                window.close();
        }else{
                var the_visiteraccepted = 1;         
        var the_cookie = "ILoveChina=visiteraccepted:" + escape(the_visiteraccepted);                                 
        document.cookie = the_cookie;
        }
}
//-->
</SCRIPT>

1. Cookie的兼容性问题

Cookie的格式有2个不同的版本,第一个版本,我们称为Cookie Version 0,是最初由Netscape公司制定的,也被几乎所有的浏览器支持。而较新的版本,Cookie Version 1,则是根据RFC 2109文档制定的。为了确保兼容性,JAVA规定,前面所提到的涉及Cookie的操作都是针对旧版本的Cookie进行的。而新版本的Cookie目 前还不被Javax.servlet.http.Cookie包所支持。

2. Cookie的内容

同样的 Cookie的内容的字符限制针对不同的Cookie版本也有不同。在Cookie Version 0中,某些特殊的字符,例如:空格,方括号,圆括号,等于号(=),逗号,双引号,斜杠,问号,@符号,冒号,分号都不能作为Cookie的内容。这也就 是为什么我们在例子中设定Cookie的内容为"Test_Content"的原因。

虽然在Cookie Version 1规定中放宽了限制,可以使用这些字符,但是考虑到新版本的Cookie规范目前仍然没有为所有的浏览器所支持,因而为保险起见,我们应该在Cookie的内容中尽量避免使用这些字符

javascript cookies操作相关推荐

  1. python后台返回cookie_Django框架设置cookies与获取cookies操作详解

    本文实例讲述了Django框架设置cookies与获取cookies操作.分享给大家供大家参考,具体如下: 在Django里面,使用Cookie和Session看起来好像是一样的,使用的方式都是req ...

  2. 在JavaScript中操作Cookie

    在Windows系统中,cookie通常是被储存在C:\Documents and settings\用户名\cookie目录下(如果系统在C盘).其实每个cookie实际上就是一个文本文件,里面是用 ...

  3. Django框架设置cookies与获取cookies操作详解

    本文实例讲述了Django框架设置cookies与获取cookies操作.分享给大家供大家参考,具体如下: 在Django里面,使用Cookie和Session看起来好像是一样的,使用的方式都是req ...

  4. js 包含某个字符串_[译] 5 大 JavaScript 字符串操作库

    原文地址:5 String Manipulation Libraries for JavaScript 原文作者:Mahdhi Rezvi 译文出自:掘金翻译计划 本文永久链接:https://git ...

  5. JavaScript属性操作

    本篇文章主要是介绍JavaScript 对HTML 属性的读写操作方法... JS 属性读操作 js 读取html的属性是通过 . 来操作的,具体语法如下 元素.属性名 问题1: 如何获取input标 ...

  6. 分享一下cookies操作(增、删、改、查)小经验

    前段时间在做一个 SSO(Single Sign On),用cookies去存Token   网站保存用户信息这类都用的cookies   以前觉得cookies操作无非就那么几种,但是"杯 ...

  7. vanilla_如何在Vanilla JavaScript中操作DOM

    vanilla by carlos da costa 通过卡洛斯·达·科斯塔 如何在Vanilla JavaScript中操作DOM (How to manipulate the DOM in Van ...

  8. php强制cookies,php Cookies操作类(附源码)

    本cookies操作类的功能,包括: 1,保存,读取,更新,清除cookies数据. 2,可设置前缀. 3,强制超时控制. 4,cookies数据可以是字符串,数组,对象等. 1,PHP cookie ...

  9. javascript 字符串操作函数大全

    javascript字符串操作函数小结,收藏起来,总有你会用上! concat() – 将两个或多个字符的文本组合起来,返回一个新的字符串. indexOf() – 返回字符串中一个子串第一处出现的索 ...

最新文章

  1. 线性回归——lasso回归和岭回归(ridge regression)
  2. Hadoop自学笔记(七)Hadoop环境配置和优化
  3. 【数学和算法】初识卡尔曼滤波器(二)
  4. 杭电1430康托 bfs(java)
  5. ubuntu 安装libusb 编译自己写的程序 发现很多undefined(排除包含头文件的问题)
  6. 这是一份通俗易懂的知识图谱技术与应用指南(转)
  7. wpf的tabcontrol获取当前选中的名字_技巧:ANSA中如何快速批量修改PID名字
  8. jdbc事务 jta事务_将非事务性资源绑定到JTA事务中的几种模式
  9. WampServer + phpcms 开发中,浏览器 localhost 出现 Cannot to connect to mySQL server 的原因分析和解决办法?
  10. 设计师们还不快着手准备圣诞海报?PSD分层模板,轻松交稿
  11. java传递和返回对象
  12. 4款idea主题,非常的炫酷
  13. Chirp信号基础知识及matlab实现
  14. 2021最新更新多接口VIP影视解析源码
  15. 小米手机 MIUI 国际版/EU 刷机教程
  16. YouTube营销活动方案
  17. 1647:迷路(矩阵快速幂+矩阵点的拆分)
  18. DeepLabV3论文解读(空洞卷积/膨胀卷积 理解)
  19. pycharm快速注释快捷键
  20. 视频教程的录制与制作的流程,方法,经验

热门文章

  1. MATLAB 保存图片变黑色
  2. 抽奖不够吸引用户?根据用户心理进一步优化下吧
  3. JQuery checkedBox全选和全部选
  4. mysql重做日志_MySQL重做日志相关
  5. Java_[排序子序列]牛牛定义排序子序列为一个数组中一段连续的子序列,并且这段子序列是非递增或者非递减排序的。
  6. SQLite3数据库的快速入门菜鸟教程
  7. Mysql YUM升级
  8. Pycharm 控制台如何打印出蓝色链接
  9. BraTS数据集处理详解(附代码详解)
  10. 一天4-5小时睡眠也可以高效工作