赞
踩
有时我们需要用cookie保存用户名,记录登录状态,如何正确判断该机用户cookie是否存在呢?不能简单使用a!=”这样的写法。
正确方法是:判断是否存在名为username3的cookie,使用document.cookie.indexOf(“username3=”)来判断,如果返回值是-1,表示不存在。
- a=getCookie("username3");
- c_start=document.cookie.indexOf("username3=");
- if(c_start == -1){
- $("#login_form").show();
- $("#logined").hide();
- }
- else{
- $("#login_form").hide();
- $("#logined").show();
- $("#ustr").html(a);
- }
设置一年过期时间的cookie,用当前时间加上365 * 24 * 60 * 60 * 1000(毫秒)
- //写入cookie到主域,设置过期时间为一年
- function SetCookie(name, value) {
- console.log(name, value)
- var str = name + "=" + escape(value) + ";domain=.cnblogs.com;path=/";
- var date = new Date();
- date.setTime(date.getTime() + 365 * 24 * 60 * 60 * 1000); //设置date为当前时间加一年
-
- str += ";expires=" + date.toGMTString();
- console.log(str)
- document.cookie = str;
- }
用js添加、读取、保存、删除cookie的操作方法如下:
- //获得coolie 的值
- function cookie(name){
- var cookieArray=document.cookie.split("; "); //得到分割的cookie名值对
- var cookie=new Object();
- for (var i=0;i<cookieArray.length;i++){
- var arr=cookieArray[i].split("="); //将名和值分开
- if(arr[0]==name)return unescape(arr[1]); //如果是指定的cookie,则返回它的值
- }
- return "";
- }
- //删除cookie
- function delCookie(name)
- {
- document.cookie = name+"=;expires="+(new Date(0)).toGMTString();
- }
- //获取指定名称的cookie的值
- function getCookie(objName){
- var arrStr = document.cookie.split("; ");
- for(var i = 0;i < arrStr.length;i ++){
- var temp = arrStr[i].split("=");
- if(temp[0] == objName) return unescape(temp[1]);
- }
- }
- //添加cookie
- function addCookie(objName,objValue,objHours){
- var str = objName + "=" + escape(objValue);
- if(objHours > 0){ //为时不设定过期时间,浏览器关闭时cookie自动消失
- var date = new Date();
- var ms = objHours*3600*1000;
- date.setTime(date.getTime() + ms);
- str += "; expires=" + date.toGMTString();
- }
- document.cookie = str;
- }
- //两个参数,一个是cookie的名子,一个是值
- function SetCookie(name,value)
- {
- var Days = 30; //此 cookie 将被保存 30 天
- var exp = new Date(); //new Date("December 31, 9998");
- exp.setTime(exp.getTime() + Days*24*60*60*1000);
- document.cookie = name + "="+ escape (value) + ";expires=" + exp.toGMTString();
- }
- //取cookies函数
- function getCookie(name)
- {
- var arr = document.cookie.match(new RegExp("(^| )"+name+"=([^;]*)(;|$)"));
- if(arr != null) return unescape(arr[2]); 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();
- }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。