JavaScript操作Cookie方法实例分析


Posted in Javascript onMay 27, 2015

本文实例讲述了JavaScript操作Cookie方法。分享给大家供大家参考。具体如下:

// My methods for setting, reading and deleting cookies.
// I have methods to check for the existence of cookie names or values, 
// to retrieve by name or value, and to create a formatted string of 
// all the cookies.
// My site: andrew.dx.am
var SetCookie = function (name, value, expires, path, domain, secure) {
  // The caller should Trim the name/value pair, if required.
  // Sets the name/value pair (encoded); 'expires' is the no. of days.
  var expires_date;
  if (expires) {
    expires_date = new Date();
    expires_date.setDate(expires_date.getDate() + expires);
  }
  document.cookie = encodeURIComponent(name) + "=" + 
    encodeURIComponent(value) +
    ( ( expires ) ? ";expires=" + expires_date.toUTCString() : "" ) +
    ( ( path ) ? ";path=" + path : "" ) +
    ( ( domain ) ? ";domain=" + domain : "" ) +
    ( ( secure ) ? ";secure" : "" );
};
var DeleteCookie = function (name, path, domain) {
  // The caller should Trim the name/value pair.
  // Encodes the name before deleting.
  document.cookie = encodeURIComponent(name) + "=" + 
    ( ( path ) ? ";path=" + path : "") + ( ( domain ) ? ";domain=" + 
      domain : "" ) + ";expires=Fri, 01-Jan-2010 00:00:01 UTC";
};
var DelAllCookies = function () {
  var currDate = new Date(), i, theCookie = document.cookie.split(";");
  currDate = currDate.toUTCString();
  i = theCookie.length;
  while ( i-- ) {
    document.cookie = theCookie[i] + "; expires =" + currDate;
  }
};
var EscapeReg = function (str) {
  // Helper fn: Escapes characters for use in a regular expression.
  return str.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&");
};
// The following four functions do not Trim the name or value 
// - the calling fns should do this.
var CNameExists = function (cookie_name) { // case-insensitive
  var testName, myReg;
  if (document.cookie.length == 0) return false;
  testName = EscapeReg(cookie_name);
  myReg = new RegExp('(^|;) ?' + testName + '=([^;]*)(;|$)','i');
  return myReg.test(decodeURIComponent(document.cookie));
};
var CValueExists = function (cookie_value)  { // case insensitive
  var testName, myReg;
  if (document.cookie.length == 0) return false; 
  testName = EscapeReg(cookie_value);
  myReg = new RegExp('(=)' + testName + '(;|$)','i');
  return myReg.test(decodeURIComponent(document.cookie));
};
var CNameGet = function (cookie_value) { // case-insensitive
  var testName, myReg, results;
  if (document.cookie.length == 0) return '';
  testName = EscapeReg(cookie_value);
  myReg = new RegExp('(^|;) ?([^=]*)=' + testName + '(;|$)','i');
  results = decodeURIComponent(document.cookie).match(myReg);
  return ( results ) ? results[2] : '';
};
var CValueGet = function (cookie_name) { // case-insensitive
  var testName, myReg, results;
  if (document.cookie.length == 0) return '';
  testName = EscapeReg(cookie_name);
  myReg = new RegExp('(^|;) ?' + testName + '=([^;]*)(;|$)','i');
  results = decodeURIComponent(document.cookie).match(myReg);
  return ( results ) ? results[2] : '';
};
var CookieStr = function () {
  // Returns a string (with line breaks) which could be 
  // placed in, for example, a textarea.
  return decodeURIComponent(document.cookie).
    replace(/([^=;]+)=([^;]*)[;\s]*/g,'$1 ($2)\n') || '';
};

希望本文所述对大家的javascript程序设计有所帮助。

Javascript 相关文章推荐
用js判断用户浏览器是否是XP SP2的IE6
Mar 08 Javascript
Extjs Gird 支持中文拼音排序实现代码
Apr 15 Javascript
javascript中的循环语句for语句深入理解
Apr 04 Javascript
JavaScript获取数组最小值和最大值的方法
Jun 09 Javascript
js判断价格,必须为数字且不能为负数的实现方法
Oct 07 Javascript
js 函数式编程学习笔记
Mar 25 Javascript
jquery中$.fn和图片滚动效果实现的必备知识总结
Apr 21 jQuery
three.js 入门案例详解
Jan 23 Javascript
layui多图上传实现删除功能的例子
Sep 23 Javascript
node.js中事件触发器events的使用方法实例分析
Nov 23 Javascript
es6中Promise 对象基本功能与用法实例分析
Feb 23 Javascript
vue键盘事件点击事件加native操作
Jul 27 Javascript
JavaScript通过事件代理高亮显示表格行的方法
May 27 #Javascript
jquery预加载图片的方法
May 27 #Javascript
jQuery仿gmail实现fixed布局的方法
May 27 #Javascript
js实现键盘Enter键提交表单的方法
May 27 #Javascript
js实现简单锁屏功能实例
May 27 #Javascript
JS实现简单路由器功能的方法
May 27 #Javascript
JavaScript实现将UPC转换成ISBN的方法
May 26 #Javascript
You might like
PHP 第二节 数据类型之转换
2012/04/28 PHP
利用php实现禁用IE和火狐的缓存问题
2012/12/03 PHP
基于flush()不能按顺序输出时的解决办法
2013/06/29 PHP
php实现文件下载实例分享
2014/06/02 PHP
yii2分页之实现跳转到具体某页的实例代码
2016/06/02 PHP
PHP实现可添加水印与生成缩略图的图片处理工具类
2018/01/16 PHP
Laravel框架使用monolog_mysql实现将系统日志信息保存到mysql数据库的方法
2018/08/16 PHP
在浏览器窗口上添加遮罩层的方法
2012/11/12 Javascript
Jquery 模板数据绑定插件的使用方法详解
2013/07/08 Javascript
基于jquery实现的图片在各种分辨率下未知的容器内上下左右居中
2014/05/11 Javascript
JavaScript获取网页、浏览器、屏幕高度和宽度汇总
2014/12/18 Javascript
Jquery动态替换div内容及动态展示的方法
2015/01/23 Javascript
基于jquery实现人物头像跟随鼠标转动
2015/08/23 Javascript
JavaScript判断数组重复内容的两种方法(推荐)
2016/06/06 Javascript
jQuery实现加入收藏夹功能(主流浏览器兼职)
2016/12/24 Javascript
JavaScript比较两个数组的内容是否相同(推荐)
2017/05/02 Javascript
JS触摸与手势事件详解
2017/05/09 Javascript
jQuery实现选中行变色效果(实例讲解)
2017/07/06 jQuery
原生JavaScript实现remove()和recover()功能示例
2018/07/24 Javascript
浅谈React Native 传参的几种方式(小结)
2019/05/21 Javascript
js动态添加带圆圈序号列表的实例代码
2021/02/18 Javascript
[04:00]DOTA2解说界神雕侠侣 CJ第四天谷子现场过生日
2013/07/30 DOTA
Python字符串拼接六种方法介绍
2017/12/18 Python
python3安装speech语音模块的方法
2018/12/24 Python
PyQt5重写QComboBox的鼠标点击事件方法
2019/06/25 Python
Python中pyecharts安装及安装失败的解决方法
2020/02/18 Python
Python下载的11种姿势(小结)
2020/11/18 Python
C++和python实现阿姆斯特朗数字查找实例代码
2020/12/07 Python
俄罗斯设计师家具购物网站:The Furnish
2019/12/01 全球购物
安全月宣传标语
2014/10/07 职场文书
会计简历自我评价
2015/03/10 职场文书
电影建国大业观后感
2015/06/01 职场文书
圣诞晚会主持词
2015/07/01 职场文书
2015年乡镇组织委员工作总结
2015/10/23 职场文书
PyTorch dropout设置训练和测试模式的实现
2021/05/27 Python
Apache Hudi的多版本清理服务彻底讲解
2022/03/31 Servers