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 相关文章推荐
常用参考资料(手册)下载或者链接
Jul 22 Javascript
LazyLoad 延迟加载(按需加载)
May 31 Javascript
JavaScript实现统计文本框Textarea字数增强用户体验
Dec 21 Javascript
模仿password输入框的实现代码
Jun 07 Javascript
JavaScript实现点击文本自动定位到下拉框选中操作
Jun 15 Javascript
JavaScript导航脚本判断当前导航
Jul 12 Javascript
js对象浅拷贝和深拷贝详解
Sep 05 Javascript
详解JavaScript中数组的reduce方法
Dec 02 Javascript
echarts整合多个类似option的方法实例
Jul 10 Javascript
Bootstrap模态对话框中显示动态内容的方法
Aug 10 Javascript
Vue 实现展开折叠效果的示例代码
Aug 27 Javascript
JS实现根据数组对象的某一属性排序操作示例
Jan 14 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
Windows PHP5和Apache的安装与配置
2009/06/08 PHP
PHP中防止SQL注入实现代码
2011/02/19 PHP
php获取服务器信息的实现代码
2013/02/04 PHP
如何用PHP实现插入排序?
2013/04/10 PHP
php生成不重复随机数、数组的4种方法分享
2015/03/30 PHP
php使用gzip压缩传输js和css文件的方法
2015/07/29 PHP
php获取'/'传参的值简单方法
2017/07/13 PHP
利用Dojo和JSON建立无限级AJAX动态加载的功能模块树
2007/03/24 Javascript
用js模拟JQuery的show与hide动画函数代码
2010/09/20 Javascript
一个可拖拽列宽表格实例演示
2012/11/26 Javascript
使用js正则控制input标签只允许输入的值
2013/07/29 Javascript
JavaScript实现鼠标滑过处生成气泡的方法
2015/05/16 Javascript
在AngularJS应用中实现一些动画效果的代码
2015/06/18 Javascript
有关easyui-layout中的收缩层无法显示标题的解决办法
2016/05/10 Javascript
AngularJS 面试题集锦
2016/09/06 Javascript
关于在vue-cli中使用微信自动登录和分享的实例
2017/06/22 Javascript
微信小程序实现左右列表联动
2020/05/19 Javascript
使用vue3重构拼图游戏的实现示例
2021/01/25 Vue.js
Python常用小技巧总结
2015/06/01 Python
python获得一个月有多少天的方法
2015/06/04 Python
简介二分查找算法与相关的Python实现示例
2015/08/26 Python
老生常谈Python startswith()函数与endswith函数
2017/09/08 Python
Django对接支付宝实现支付宝充值金币功能示例
2019/12/17 Python
如何在windows下安装配置python工具Ulipad
2020/10/27 Python
Python3利用scapy局域网实现自动多线程arp扫描功能
2021/01/21 Python
一款纯css3实现简单的checkbox复选框和radio单选框
2014/11/05 HTML / CSS
canvas三角函数模拟水波效果的示例代码
2018/07/03 HTML / CSS
介绍一下Java中标识符的命名规则
2014/02/03 面试题
大学生入党自我鉴定
2013/10/31 职场文书
生产总经理岗位职责
2013/12/19 职场文书
学校评语大全
2014/05/06 职场文书
物流管理专业求职信
2014/05/29 职场文书
八年级英语教学计划
2015/01/23 职场文书
行政二审代理词
2015/05/25 职场文书
只需要12页,掌握撰写一流商业计划书的技巧
2019/05/07 职场文书
Java实现聊天机器人完善版
2021/07/04 Java/Android