cookie函数封装总结

设置cookie

function setCookie (name,value) {
		var days = 30;//30天过期
		var exp = new Date();
		exp.setTime(exp.getTime() +days*24*60*60*1000);
		document.cookie = name +"="+ escape(value)+";expires=" +exp.toGMTString()+"; path=/DBOM";
}

读取cookie

function getCookie(name) {
			    var arr=[];
			    var reg=new RegExp("(^| )"+name+"=([^;]*)(;|$)");
			    if (arr=document.cookie.match(reg)) {
			        return unescape(arr[2]);
			    }else{
			        return null;
			    }
			}

删除cookie

function delCookie(name) {
			    var exp = new Date();
			    exp.setTime(exp.getTime()-1);
			    var cval = getCookie(name);
			    if (cval !=null) {                      
			       document.cookie=name+"="+cval+";expires="+exp.toGMTString();
			    }
			}

创建并存储cookie

function setCookie (name, value, expires) {
			    var	date = new Date();
				date.setTime(date.getTime() + expires);
			    var cookieItem = name + "=" + value + ( expires ? "; expires=" + date.toGMTString() : "" );
			    document.cookie = cookieItem;
			}

获取cookie

function getCookie (cname) {
		        if (document.cookie.length>0) {
		            var name = cname + "=";
		            // split() 方法用于把一个字符串分割成字符串数组。
		            var c = document.cookie.split(';');
		            for (var i=0; i<ca.length; i++) {
		                // trim() 方法用于去除字符串两端的空白字符
		                var c = ca[i].trim();
		                // indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置。
		                // 如果要检索的字符串值没有出现,则该方法返回 -1。
		                if (c.indexOf(name)==0) {
		                    // substring() 方法用于提取字符串中介于两个指定下标之间的字符。
		                    var cookieItem = c.substring(name.length, c.length);
		                    return cookieItem;
		                }
		            }
		        }
		        return ""
		    }	

测试cookie是否被客户端禁用了:

function CookieEnable() {
			   let result = false;
			   if (navigator.cookiesEnabled) return true;
			   document.cookie = "testcookie=yes;";
			   let cookieSet = document.cookie;
			   if (cookieSet.indexOf("testcookie=yes") > -1) result=true;
			   document.cookie = "";
			   return result;
			}
			if(!CookieEnable()){
			  alert("对不起,您的浏览器的Cookie功能被禁用,请开启");      
			}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值