cookie函数封装总结

    科技2022-07-10  135

    cookie函数封装

    设置cookie读取cookie删除cookie创建并存储cookie获取cookie测试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功能被禁用,请开启"); }
    Processed: 0.013, SQL: 8