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实现的网站首页随机公告随机公告
Mar 14 Javascript
精解window.setTimeout()&window.setInterval()使用方式与参数传递问题!
Nov 23 Javascript
jQuery页面滚动浮动层智能定位实例代码
Aug 23 Javascript
Jquery 的outerHeight方法使用介绍
Sep 11 Javascript
从jquery的过滤器.filter()方法想到的
Sep 29 Javascript
js操纵dom生成下拉列表框的方法
Feb 24 Javascript
Javascript中封装window.open解决不兼容问题
Sep 28 Javascript
node.js中的fs.writeFile方法使用说明
Dec 14 Javascript
简单理解vue中实例属性vm.$els
Dec 01 Javascript
Vue.js双向绑定实现原理详解
Dec 22 Javascript
如何在vue里添加好看的lottie动画
Aug 02 Javascript
Angular如何由模板生成DOM树的方法
Dec 23 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
解析csv数据导入mysql的方法
2013/07/01 PHP
php实现邮件发送并带有附件
2014/01/24 PHP
采用thinkphp自带方法生成静态html文件详解
2014/06/13 PHP
php从给定url获取文件扩展名的方法
2015/03/14 PHP
PHP实现的登录页面信息提示功能示例
2017/07/24 PHP
PHP超全局变量实现原理及代码解析
2020/09/01 PHP
背景音乐每次刷新都可以自动更换
2007/02/01 Javascript
javascript 操作Word和Excel的实现代码
2009/10/26 Javascript
jquery导航制件jquery鼠标经过变色效果示例
2013/12/05 Javascript
js用拖动滑块来控制图片大小的方法
2015/02/27 Javascript
jQuery Easyui实现左右布局
2016/01/26 Javascript
浅析jquery unbind()方法移除元素绑定的事件
2016/05/24 Javascript
AngularJS 模块化详解及实例代码
2016/09/14 Javascript
js实现把图片的绝对路径转为base64字符串、blob对象再上传
2016/12/29 Javascript
JS中Select下拉列表类(支持输入模糊查询)功能
2017/01/17 Javascript
JavaScript基础之this详解
2017/06/04 Javascript
javascript与PHP动态往类中添加方法对比
2018/03/21 Javascript
微信小程序8种数据通信的方式小结
2020/02/03 Javascript
jquery实现轮播图特效
2020/04/12 jQuery
JS实现页面鼠标点击出现图片特效
2020/08/19 Javascript
[52:31]VP vs Serenity 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
[38:38]完美世界DOTA2联赛PWL S3 access vs Rebirth 第二场 12.17
2020/12/18 DOTA
python实现端口转发器的方法
2015/03/13 Python
初步介绍Python中的pydoc模块和distutils模块
2015/04/13 Python
python记录程序运行时间的三种方法
2017/07/14 Python
python将一组数分成每3个一组的实例
2018/11/14 Python
解决django中ModelForm多表单组合的问题
2019/07/18 Python
Python切图九宫格的实现方法
2019/10/10 Python
使用keras时input_shape的维度表示问题说明
2020/06/29 Python
canvas 基础之图像处理的使用
2020/04/10 HTML / CSS
GUESS西班牙官方网上商城:美国服饰品牌
2017/03/15 全球购物
Vilebrequin美国官方网上商店:法国豪华泳装品牌
2020/02/22 全球购物
冬季安全检查方案
2014/05/23 职场文书
客户答谢会致辞
2015/07/30 职场文书
MySQL5.7并行复制原理及实现
2021/06/03 MySQL
NodeJs使用webpack打包项目的方法详解
2022/02/28 NodeJs