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 相关文章推荐
关于javascript document.createDocumentFragment()
Apr 04 Javascript
JavaScript怎么判断图片是否加载完成以便获取其尺寸
May 08 Javascript
BootStrap学习系列之布局组件(下拉,按钮组[toolbar],上拉)
Jan 03 Javascript
Vue数据驱动模拟实现3
Jan 11 Javascript
Angular.JS利用ng-disabled属性和ng-model实现禁用button效果
Apr 05 Javascript
JS判断微信扫码的方法
Aug 07 Javascript
vue中使用ueditor富文本编辑器
Feb 08 Javascript
jquery分页插件pagination使用教程
Oct 23 jQuery
javascript 原型与原型链的理解及实例分析
Nov 23 Javascript
vue.js使用v-model实现父子组件间的双向通信示例
Feb 05 Javascript
Jquery Fade用法详解
Nov 06 jQuery
javascript之Object.assign()的痛点分析
Mar 03 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记录代码执行时间(实现代码)
2013/07/05 PHP
教你如何用php实现LOL数据远程获取
2014/06/10 PHP
学习ExtJS table布局
2009/10/08 Javascript
javascript拖拽上传类库DropzoneJS使用方法
2013/12/05 Javascript
Uploadify上传文件方法
2016/03/16 Javascript
JS给swf传参数的实现方法
2016/09/13 Javascript
jQuery插件FusionCharts绘制2D双折线图效果示例【附demo源码】
2017/04/14 jQuery
JavaScript实现QQ聊天消息展示和评论提交功能
2017/05/22 Javascript
angular动态删除ng-repaeat添加的dom节点的方法
2017/07/20 Javascript
微信小程序实现授权登录
2019/05/15 Javascript
Vue分页效果与购物车功能
2019/12/13 Javascript
如何使用JavaScript检测空闲的浏览器选项卡
2020/05/28 Javascript
JS中作用域以及变量范围分析
2020/07/18 Javascript
python实现简单神经网络算法
2018/03/10 Python
解决python3 网络请求路径包含中文的问题
2018/05/10 Python
python实现黑客字幕雨效果
2018/06/21 Python
Python实现的从右到左字符串替换方法示例
2018/07/06 Python
Django框架序列化与反序列化操作详解
2019/11/01 Python
浅谈python已知元素,获取元素索引(numpy,pandas)
2019/11/26 Python
python 实现矩阵按对角线打印
2019/11/29 Python
Python更新所有已安装包的操作
2020/02/13 Python
使用Python防止SQL注入攻击的实现示例
2020/05/21 Python
Python+PyQt5+MySQL实现天气管理系统
2020/06/16 Python
Python操作MySQL数据库的示例代码
2020/07/13 Python
基于css3的属性transition制作菜单导航效果
2015/09/01 HTML / CSS
html5 video标签屏蔽右键视频另存为的js代码
2013/11/12 HTML / CSS
欧洲领先的火车票和大巴票预订平台:Trainline
2018/12/26 全球购物
这76道Java面试题及答案,祝你能成功通过面试
2016/04/16 面试题
语文教育专业推荐信范文
2013/11/25 职场文书
财会专业毕业生自荐信
2014/07/09 职场文书
四川省传达学习贯彻党的群众路线教育实践活动总结大会精神新闻稿
2014/10/26 职场文书
2014年共青团工作总结
2014/12/10 职场文书
2015年客服工作总结范文
2015/04/02 职场文书
太行山上观后感
2015/06/05 职场文书
人民币使用说明书
2019/04/17 职场文书
MySQL数据库事务的四大特性
2022/04/20 MySQL