js 对cookie操作读写删

对cookie进行操作的代码

function getCookie(cookie_name)
{//获取指定COOKIES的值
  var allcookies = document.cookie;
  var cookie_pos = allcookies.indexOf(cookie_name);
  // 如果找到了索引,就代表cookie存在,反之,就说明不存在。
  if (cookie_pos != -1)
  {// 把cookie_pos放在值的开始,只要给值加1即可。
    cookie_pos += cookie_name.length;
    var cookie_end = allcookies.indexOf(";", cookie_pos);
    if (cookie_end == -1) cookie_end = allcookies.length;
    var value = unescape(allcookies.substring(cookie_pos, cookie_end).replace("=",""));
  }
  return value;
}

function setCookie(name,value,expires,path,domain,secure)
{//设置COOKIES的值
  var expDays = expires * 24 * 60 * 60 * 1000;
  var expDate = new Date();
  expDate.setTime(expDate.getTime() + expDays);
  var expString = ((expires == null) ? "" : (";expires=" + expDate.toGMTString()));
  var pathString = ((path == null) ? "" : (";path=" + path));
  var domainString = ((domain == null) ? "" : (";domain=" + domain));
  var secureString = ((secure == true) ? ";secure" : "");
  document.cookie = name + "=" + escape(value) + expString + pathString + domainString + secureString;
}

function delCookie(name){
  var expDate = new Date(); //当前时间
  expDate.setTime(expDate.getTime() - 1); //删除cookie 只需将cookie设置为过去的时间
  var cval = getCookie(name);
  document.cookie = name + "=" + cval + ";expires=" + expDate.toGMTString();
}

也可以jquery的插件。

https://plugins.jquery.com/cookie/

https://github.com/carhartl/jquery-cookie 推荐

https://github.com/js-cookie/js-cookie 新版

jQuery.cookie = function(name, value, options) {
	if (typeof value != 'undefined') {
		options = options || {};
		if (value === null) {
			value = '';
			options = $.extend({}, options);
			options.expires = -1;
		}
		var expires = '';
		if (options.expires && (typeof options.expires == 'number' || options.expires.toUTCString)) {
			var date;
			if (typeof options.expires == 'number') {
				date = new Date();
				date.setTime(date.getTime() + (options.expires * 24 * 60 * 60 * 1000));
			} else {
				date = options.expires;
			}
			expires = '; expires=' + date.toUTCString();
		}
		var path = options.path ? '; path=' + (options.path) : '';
		var domain = options.domain ? '; domain=' + (options.domain) : '';
		var secure = options.secure ? '; secure' : '';
		document.cookie = [name, '=', encodeURIComponent(value), expires, path, domain, secure].join('');
	} else {
		var cookieValue = null;
		if (document.cookie && document.cookie != '') {
			var cookies = document.cookie.split(';');
			for (var i = 0; i < cookies.length; i++) {
				var cookie = jQuery.trim(cookies[i]);
				if (cookie.substring(0, name.length + 1) == (name + '=')) {
					cookieValue = decodeURIComponent(cookie.substring(name.length + 1));
					break;
				}
			}
		}
		return cookieValue;
	}
};
/**
$.cookie("name"); //根据cookie名字取到cookie值
$.cookie("name", "value");//设置cookie 名字,值
$.cookie("name", value, { expires: 7 }); //设置cookie 名字,值,生命周期天
$.cookie("name", value, { expires: 7, path: '/'}); //加有效路径
$.cookie("name", null); //根据cookie名移除cookie
*/

点赞

发表评论

电子邮件地址不会被公开。必填项已用 * 标注