当前位置: 首页 > news >正文

JavaScript Cookie

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

1 JS中Cookie的结构: 在JavaScript中,cookie是以键值对的形式保存的,即key=value的格式,各个Cookie之间一般是以分号;分隔

2 示例:

<!-- lang: html -->
<!DOCTYPE HTML>
<!-- lang: html -->
<html>
<!-- lang: html -->
    <head>
<!-- lang: html -->
        <meta charset=“utf-8”>
<!-- lang: html -->
        <title>Use JS Cookie</title>
<!-- lang: html -->
    </head>
<!-- lang: html -->
    <body>
<!-- lang: html -->
        <script type="text/javascript">
<!-- lang: html -->
        setCookie('userName', 'Tom', 20);
<!-- lang: html -->
	userName = getCookie('userName');
<!-- lang: html -->
	alert('get cookie userName: '+userName);
<!-- lang: html -->
	result = checkCookie('userName') ? 'Yes' : 'No';
<!-- lang: html -->
	alert('checke cookie userName is exist?  '+result);
<!-- lang: html -->

<!-- lang: html -->
	delCookie('userName');
<!-- lang: html -->
	alert('has deleted cookie userName');
<!-- lang: html -->
	userName = getCookie('userName');
<!-- lang: html -->
	alert('get cookie userName: '+userName);
<!-- lang: html -->
	result = checkCookie('userName') ? 'Yes' : 'No';
<!-- lang: html -->
	alert('checke cookie userName is exist?'+result);
<!-- lang: html -->

<!-- lang: html -->
        /**
<!-- lang: html -->
        *设置Cookie
<!-- lang: html -->
        *@param c_name  string 要设置的cookie的名称
<!-- lang: html -->
        *@param value  mixed 要设置的cookie的值
<!-- lang: html -->
        *@param expiredays  int 设置cookie多少天后过期
<!-- lang: html -->
        */
<!-- lang: html -->
        function setCookie(c_name, value, expiredays){
<!-- lang: html -->
            var exdate = new Date();
<!-- lang: html -->
            exdate.setDate(exdate.getDate() + expiredays);
<!-- lang: html -->
            document.cookie = c_name+"="+escape(value)+((expiredays==null)?"":";expires="+exdate.toGMTString());
<!-- lang: html -->
        }
<!-- lang: html -->
        
<!-- lang: html -->
        /**
<!-- lang: html -->
        *根据Cookie名获取Cookie值
<!-- lang: html -->
        *@param c_name  string Cookie名
<!-- lang: html -->
        *@return  string
<!-- lang: html -->
        */
<!-- lang: html -->
        function getCookie(c_name){
<!-- lang: html -->
            if(document.cookie.length >0){
<!-- lang: html -->
                c_start = document.cookie.indexOf(c_name+"=");
<!-- lang: html -->
                if(c_start != -1){
<!-- lang: html -->
                    c_start = c_start + c_name.length + 1;
<!-- lang: html -->
                    c_end = document.cookie.indexOf(";", c_start);
<!-- lang: html -->
                    if(c_end == -1){
<!-- lang: html -->
                        c_end = document.cookie.length;
<!-- lang: html -->
                    }
<!-- lang: html -->
                    return unescape(document.cookie.substring(c_start, c_end));
<!-- lang: html -->
                }
<!-- lang: html -->
            }
<!-- lang: html -->
            return "";
<!-- lang: html -->
        }
<!-- lang: html -->

<!-- lang: html -->
        /**
<!-- lang: html -->
        *删除设置的Cookie
<!-- lang: html -->
        *@param c_name  string 设置的cookie的名称
<!-- lang: html -->
        */
<!-- lang: html -->
        function delCookie(c_name){
<!-- lang: html -->
            var exp = new Date();
<!-- lang: html -->
            exp.setTime(exp.getTime() - 1);
<!-- lang: html -->
            var cval = getCookie(c_name);
<!-- lang: html -->
            if(cval != null){
<!-- lang: html -->
                document.cookie = c_name+"="+cval+";expires="+exp.toGMTString();
<!-- lang: html -->
            }
<!-- lang: html -->
        }
<!-- lang: html -->

<!-- lang: html -->
        /**
<!-- lang: html -->
        *检查某Cookie是否存在
<!-- lang: html -->
        *@param c_name  string 设置的Cookie名称
<!-- lang: html -->
        *@return boolean
<!-- lang: html -->
        */
<!-- lang: html -->
        function checkCookie(c_name){
<!-- lang: html -->
            var value = getCookie(c_name);
<!-- lang: html -->
            if(value != null && value != ""){
<!-- lang: html -->
               return true;
<!-- lang: html -->
            }else{
<!-- lang: html -->
               return  false;
<!-- lang: html -->
            }
<!-- lang: html -->
        }
<!-- lang: html -->
        </script>
<!-- lang: html -->
    </body>
<!-- lang: html -->
</html>

转载于:https://my.oschina.net/syc2013/blog/314036

相关文章:

  • 大数据时代,统计学方法有多大的效果?
  • 第三章:推荐系统冷启动与CB
  • 再学 GDI+[29]: TGPPen - 自定义复合画笔 - SetCompoundArray
  • WinAPI: PolyBezierTo - 绘制贝塞尔线(更新当前位置)
  • Delphi 与 DirectX 之 DelphiX(44): TDIB.DoAddColorNoise();
  • MVC与MVP(转)
  • IDisposable资源释放接口
  • 多角度看.NET面试题
  • java/.net-常用工具下载地址常用学习网址快捷键
  • 財哥面京东dm的经历【帮財哥发的】
  • 基于数据访问的集合类型-领域驱动设计的又一种特定对象
  • LVS负载均衡中arp_ignore和arp_annonuce参数配置的含义
  • Flex入门(三)——微架构之Cairngorm
  • Clink(Powerful Bash-style command line editing )
  • 通俗理解C#委托和事件
  • Django 博客开发教程 8 - 博客文章详情页
  • Docker: 容器互访的三种方式
  • js操作时间(持续更新)
  • leetcode388. Longest Absolute File Path
  • Linux编程学习笔记 | Linux多线程学习[2] - 线程的同步
  • QQ浏览器x5内核的兼容性问题
  • springMvc学习笔记(2)
  • WinRAR存在严重的安全漏洞影响5亿用户
  • 程序员该如何有效的找工作?
  • 浮动相关
  • 回顾 Swift 多平台移植进度 #2
  • 罗辑思维在全链路压测方面的实践和工作笔记
  • 买一台 iPhone X,还是创建一家未来的独角兽?
  • 如何使用Mybatis第三方插件--PageHelper实现分页操作
  • 线性表及其算法(java实现)
  • 【干货分享】dos命令大全
  • 交换综合实验一
  • ​LeetCode解法汇总518. 零钱兑换 II
  • ​水经微图Web1.5.0版即将上线
  • ​业务双活的数据切换思路设计(下)
  • #Spring-boot高级
  • #我与Java虚拟机的故事#连载17:我的Java技术水平有了一个本质的提升
  • (Mirage系列之二)VMware Horizon Mirage的经典用户用例及真实案例分析
  • (超详细)语音信号处理之特征提取
  • (附源码)springboot青少年公共卫生教育平台 毕业设计 643214
  • (四)模仿学习-完成后台管理页面查询
  • (转)Linux NTP配置详解 (Network Time Protocol)
  • (转)全文检索技术学习(三)——Lucene支持中文分词
  • (转载)VS2010/MFC编程入门之三十四(菜单:VS2010菜单资源详解)
  • .net core 控制台应用程序读取配置文件app.config
  • .net framework4与其client profile版本的区别
  • .NET Project Open Day(2011.11.13)
  • .NET/C# 在 64 位进程中读取 32 位进程重定向后的注册表
  • .netcore 获取appsettings
  • .NET简谈设计模式之(单件模式)
  • .project文件
  • @Autowired和@Resource装配
  • @manytomany 保存后数据被删除_[Windows] 数据恢复软件RStudio v8.14.179675 便携特别版...
  • @vue/cli 3.x+引入jQuery
  • [100天算法】-每个元音包含偶数次的最长子字符串(day 53)