javascript设置和获取cookie的方法实例详解
作者:bea
本文实例讲述了javascript设置和获取cookie的方法。分享给大家供大家参考,具体如下: 1. 设置cookie function setCookie(cookieName,cookieValue,cookieExpires,cookiePath){ cookieValue = escape(cookieValue);//编码latin-1 if(cookieExpires=="") { var nowDate = new Date(); now
本文实例讲述了javascript设置和获取cookie的方法。分享给大家供大家参考,具体如下:
1. 设置cookie
function setCookie(cookieName,cookieValue,cookieExpires,cookiePath)
{
cookieValue = escape(cookieValue);//编码latin-1
if(cookieExpires=="")
{
var nowDate = new Date();
nowDate.setMonth(nowDate.getMonth()+6);
cookieExpires = nowDate.toGMTString();
}
if(cookiePath!="")
{
cookiePath = ";Path="+cookiePath;
}
document.cookie= cookieName+"="+cookieValue+";expires="+cookieExpires+cookiePath;
}
2. 获取cookie
function getCookieValue(cookieName)
{
var cookieValue = document.cookie;
var cookieStartAt = cookieValue.indexOf(""+cookieName+"=");
if(cookieStartAt==-1)
{
cookieStartAt = cookieValue.indexOf(cookieName+"=");
}
if(cookieStartAt==-1)
{
cookieValue = null;
}
else
{
cookieStartAt = cookieValue.indexOf("=",cookieStartAt)+1;
cookieEndAt = cookieValue.indexOf(";",cookieStartAt);
if(cookieEndAt==-1)
{
cookieEndAt = cookieValue.length;
}
cookieValue = unescape(cookieValue.substring(cookieStartAt,cookieEndAt));//解码latin-1
}
return cookieValue;
}
例子:
<!doctype html>
<html>
<head>
<title>cookie</title>
<meta charset="utf-8">
<script language="javascript" type="text/javascript">
//获取cookie
function getCookieValue(cookieName)
{
var cookieValue = document.cookie;
var cookieStartAt = cookieValue.indexOf(""+cookieName+"=");
if(cookieStartAt==-1)
{
cookieStartAt = cookieValue.indexOf(cookieName+"=");
}
if(cookieStartAt==-1)
{
cookieValue = null;
}
else
{
cookieStartAt = cookieValue.indexOf("=",cookieStartAt)+1;
cookieEndAt = cookieValue.indexOf(";",cookieStartAt);
if(cookieEndAt==-1)
{
cookieEndAt = cookieValue.length;
}
cookieValue = unescape(cookieValue.substring(cookieStartAt,cookieEndAt));//解码latin-1
}
return cookieValue;
}
//设置cookie
function setCookie(cookieName,cookieValue,cookieExpires,cookiePath)
{
cookieValue = escape(cookieValue);//编码latin-1
if(cookieExpires=="")
{
var nowDate = new Date();
nowDate.setMonth(nowDate.getMonth()+6);
cookieExpires = nowDate.toGMTString();
}
if(cookiePath!="")
{
cookiePath = ";Path="+cookiePath;
}
document.cookie= cookieName+"="+cookieValue+";expires="+cookieExpires+cookiePath;
}
//页面加载时间处理函数
function window_onload()
{
var userNameElem = document.getElementById("userName");//用户名输入框对象
var passwordElem = document.getElementById("password");//密码输入框对象
var currUserElem = document.getElementById("currUser");//复选框对象
var currUser = getCookieValue("currUser");
if(currUser!=null)
{
userNameElem.value=currUser;
currUserElem.checked = true;
}
if(userNameElem.value!="")
{
passwordElem.focus();//密码输入框获得焦点
}
else
{
currUserElem.focus();//用户名输入框获得焦点
}
}
//表单提交处理
function login()
{
var userNameElem = document.getElementById("userName");
var passwordElem = document.getElementById("password");
var currUserElem = document.getElementById("currUser");
if(userNameElem.value=="" || passwordElem.value=="")
{
alert("用户名或密码不能为空!");
if(userNameElem.value=="")
{
userNameElem.focus();//用户名输入框获得焦点
}
else
{
passwordElem.focus();//密码输入框获得焦点
}
return false;
}
if(currUserElem.checked)
{
setCookie("currUser",userNameElem.value,"","");//设置cookie
}
else
{
var nowDate = new Date();//当前日期
nowDate.setMonth(nowDate.getMonth()-2);//将cookie的过期时间设置为之前的某个日期
cookieExpires = nowDate.toGMTString();//过期时间的格式必须是GMT日期的格式
setCookie("userName","",cookieExpires,"");//删除一个cookie只要将过期时间设置为过去的一个时间即可
}
return true;
}
</script>
<style type="text/css">
div{
font-size:12px;
}
</style>
</head>
<body onload="window_onload()">
<div>
<form id="loginForm" onsubmit="return login()">
用户名:<input type="text" id="userName"><br>
密 码:<input type="password" id="password">
<input type="checkbox" id="currUser">记住用户名<br>
<input type="submit" value="登录">
</form>
</div>
</body>
</html>
注意:
由于google Chrome浏览器为了安全只支持online-cookie,所以在本地测试时是没有效果的,需要上传到服务器试一下。
更多关于JavaScript操作cookie相关内容可查看本站专题:《JavaScript 操作 cookie相关知识汇总》及《jQuery的cookie操作技巧总结》
希望本文所述对大家JavaScript程序设计有所帮助。
猜你喜欢
您可能感兴趣的文章:
- 2016年最热门的15 款代码语法高亮工具,美化你的代码
- 详解jQuery Mobile自定义标签
- 谷歌Chrome浏览器扩展程序开发小记
- JavaScript类型系统之基本数据类型与包装类型
- 4种JavaScript实现简单tab选项卡切换的方法
- js针对ip地址、子网掩码、网关的逻辑性判断
- js判断当前页面在移动设备还是在PC端中打开
- js判断当前页面用什么浏览器打开的方法
- javascript中闭包(Closure)详解
- 果断收藏9个Javascript代码高亮脚本
- 基于HTML+CSS,jQuery编写的简易计算器后续(添加了键盘监听)
- JavaScript实现简单的tab选项卡切换
- javascript实现简单的全选和反选功能
- Javascript原型链的原理详解
- 深入浅析JavaScript系列(13):This? Yes,this!
- 基于javascript实现图片懒加载
- this,this,再次讨论javascript中的this,超全面(经典)
- 基于javascript实现图片预加载
- JavaScript、tab切换完整版(自动切换、鼠标移入停止、移开运行)