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对象的函数
Dec 22 Javascript
9个javascript语法高亮插件 推荐
Jul 18 Javascript
基于jQuery的的一个隔行变色,鼠标移动变色的小插件
Jul 06 Javascript
jQuery中element选择器用法实例
Dec 29 Javascript
JavaScript中setUTCMilliseconds()方法的使用详解
Jun 12 Javascript
BootStrap智能表单实战系列(八)表单配置json详解
Jun 13 Javascript
微信小程序 Audio API详解及实例代码
Sep 30 Javascript
JavaScript实现经典排序算法之冒泡排序
Dec 28 Javascript
以BootStrap Tab为例写一个前端组件
Jul 25 Javascript
微信小程序实现的动态设置导航栏标题功能示例
Jan 31 Javascript
ES6 Promise对象的含义和基本用法分析
Jun 14 Javascript
javascript实现固定侧边栏
Feb 09 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获得用户ip地址的比较不错的方法
2014/02/08 PHP
PHP中判断文件存在使用is_file还是file_exists?
2015/04/03 PHP
PHP 并发场景的几种解决方案
2019/06/14 PHP
Laravel 默认邮箱登录改成用户名登录的实现方法
2019/08/12 PHP
laravel执行php artisan migrate报错的解决方法
2019/10/09 PHP
克隆javascript对象的三个方法小结
2011/01/12 Javascript
javascript 图片裁剪技巧解读
2012/11/15 Javascript
JavaScript设计模式之单例模式实例
2014/09/24 Javascript
angular.element方法汇总
2015/01/07 Javascript
使用Web Uploader实现多文件上传
2016/06/08 Javascript
详解ionic本地相册、拍照、裁剪、上传(单图完全版)
2017/10/10 Javascript
代码详解Vuejs响应式原理
2017/12/20 Javascript
小程序实现展开/收起的效果示例
2018/09/22 Javascript
js控制随机数生成概率代码实例
2019/03/21 Javascript
ES6 Promise对象的应用实例分析
2019/06/27 Javascript
微信小程序 select 下拉框组件功能
2019/09/09 Javascript
[29:59]完美世界DOTA2联赛PWL S3 Forest vs access 第二场 12.11
2020/12/13 DOTA
下载给定网页上图片的方法
2014/02/18 Python
使用Python脚本将绝对url替换为相对url的教程
2015/04/24 Python
5款非常棒的Python工具
2018/01/05 Python
Python学生成绩管理系统简洁版
2020/04/05 Python
Python查找两个有序列表中位数的方法【基于归并算法】
2018/04/20 Python
通过python顺序修改文件名字的方法
2018/07/11 Python
python 实现识别图片上的数字
2019/07/30 Python
python中什么是面向对象
2020/06/11 Python
解析Python 偏函数用法全方位实现
2020/06/26 Python
Python实现文件压缩和解压的示例代码
2020/08/12 Python
Python 操作SQLite数据库的示例
2020/10/16 Python
为世界各地的女性设计和生产时尚服装:ROMWE
2016/09/17 全球购物
英国家庭家具、照明和花园家具购物网站:Furniture123
2018/12/31 全球购物
施华洛世奇匈牙利官网:SWAROVSKI匈牙利
2019/07/06 全球购物
婚内房产协议书范本
2014/10/02 职场文书
党的群众路线教育实践活动总结材料
2014/10/30 职场文书
2015年党员干部承诺书
2015/01/21 职场文书
用python实现监控视频人数统计
2021/05/21 Python
Golang 切片(Slice)实现增删改查
2022/04/22 Golang