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 相关文章推荐
jQuery弹出层始终垂直居中相对于屏幕或当前窗口
Apr 01 Javascript
js中typeof的用法汇总
Dec 12 Javascript
js实现网页右上角滑出会自动消失大幅广告的方法
Feb 27 Javascript
浅谈javascript事件取消和阻止冒泡
May 26 Javascript
jQuery mobile 移动web(4)
Dec 20 Javascript
使用JavaScript脚本判断页面是否在微信中被打开
Mar 06 Javascript
使用jquery提交form表单并自定义action的方法
May 25 Javascript
从vue基础开始创建一个简单的增删改查的实例代码(推荐)
Feb 11 Javascript
详解基于Node.js的HTTP/2 Server实践
May 31 Javascript
在vue项目中引入高德地图及其UI组件的方法
Sep 04 Javascript
windows实现npm和cnpm安装步骤
Oct 24 Javascript
微信小程序选择图片控件
Jan 19 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
PHP4引用文件语句的对比
2006/10/09 PHP
php遍历文件夹所有文件子文件夹函数代码
2013/11/27 PHP
php实现的中秋博饼游戏之掷骰子并输出结果功能详解
2017/11/06 PHP
PHP7导出Excel报ERR_EMPTY_RESPONSE解决方法
2019/04/16 PHP
javascript实现动态CSS换肤技术的脚本
2007/06/29 Javascript
jquery.blockUI.js上传滚动等待效果实现思路及代码
2013/03/18 Javascript
js猜数字小游戏的简单实现代码
2013/07/02 Javascript
javascript制作坦克大战全纪录(2)
2014/11/27 Javascript
jQuery左侧大图右侧小图焦点图幻灯切换代码分享
2015/08/19 Javascript
jQuery+jsp下拉框联动获取本地数据的方法(附源码)
2015/12/03 Javascript
ES6新特征数字、数组、字符串
2016/10/01 Javascript
JavaScript设计模式之策略模式详解
2017/06/09 Javascript
VUE axios发送跨域请求需要注意的问题
2017/07/06 Javascript
TypeScript类型声明书写详解
2019/08/28 Javascript
js实现简单掷骰子效果
2019/10/24 Javascript
vue键盘事件点击事件加native操作
2020/07/27 Javascript
原生js+canvas实现下雪效果
2020/08/02 Javascript
[05:05]第三天的dota2
2013/07/29 DOTA
[01:03:56]Mineski vs TNC 2018国际邀请赛淘汰赛BO1 8.21
2018/08/22 DOTA
python中的hashlib和base64加密模块使用实例
2014/09/02 Python
python设计模式大全
2016/06/27 Python
python 与GO中操作slice,list的方式实例代码
2017/03/20 Python
python+flask编写一个简单的登录接口
2020/11/13 Python
用css3实现转换过渡和动画效果
2020/03/13 HTML / CSS
Quiksilver荷兰官方网站:冲浪和滑雪板
2019/11/16 全球购物
公司业务主管岗位职责
2013/12/07 职场文书
读书活动总结范文
2014/04/26 职场文书
六一儿童节演讲稿
2014/05/23 职场文书
外联部演讲稿
2014/05/24 职场文书
禁止高声喧哗的标语
2014/06/11 职场文书
社区党支部承诺书
2015/04/29 职场文书
车辆安全隐患排查制度
2015/08/05 职场文书
Java图书管理系统,课程设计必用(源码+文档)
2021/06/30 Java/Android
JUnit5常用注解的使用
2021/07/02 Java/Android
Python机器学习实战之k-近邻算法的实现
2021/11/27 Python
MySQL数据库之存储过程 procedure
2022/06/16 MySQL