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功能被禁用,请开启");
}