【转】来自:http://blog.csdn.net/itmyhome1990/article/details/7363816

JSP表单页面

  1. <form action="login" method="post">
  2. 用户名:<input type="text" name="username" id="username" /><br>
  3. 密码:<input type="password" name="password" /><br />
  4. <input type="checkbox" id="remember" checked="checked">
  5. 记住用户名<input type="submit" value="登录" id="sub" />
  6. </form>

JS操作cookie

  1. <script type="text/javascript">
  2. $(document).ready(function() {
  3. var name = getCookie("username");
  4. //$("#username")[0].value=name;
  5. $("#username").val(name);
  6. /*
  7. * 当点击登录按钮时 判断是否勾选记住用户名
  8. * 如果勾选  则将用户名保存在Cookie中 否则删除
  9. */
  10. $("#sub").click(function() {
  11. if ($("#remember").attr("checked") == true) {
  12. //获得用户名
  13. var username = $("#username").val();
  14. //设置cookie
  15. setCookie("username", username);
  16. } else {
  17. //删除cookie
  18. delCookie("username")
  19. }
  20. })
  21. function setCookie(name, value) {
  22. var Days = 60; //cookie 将被保存两个月
  23. var exp = new Date(); //获得当前时间
  24. exp.setTime(exp.getTime() + Days * 24 * 60 * 60 * 1000); //换成毫秒
  25. document.cookie = name + "=" + escape(value) + ";expires=" + exp.toGMTString();
  26. }
  27. function getCookie(name) {
  28. //取出cookie
  29. var strCookie = document.cookie;
  30. //cookie的保存格式是 分号加空格 "; "
  31. var arrCookie = strCookie.split("; ");
  32. for ( var i = 0; i < arrCookie.length; i++) {
  33. var arr = arrCookie[i].split("=");
  34. if (arr[0] == "username") {
  35. return arr[1];
  36. }
  37. }
  38. return "";
  39. }
  40. function delCookie(name) {
  41. var exp = new Date(); //当前时间
  42. exp.setTime(exp.getTime() - 1); //删除cookie 只需将cookie设置为过去的时间
  43. var cval = getCookie(name);
  44. if (cval != null)
  45. document.cookie = name + "=" + cval + ";expires="+ exp.toGMTString();
  46. }
  47. })
  48. </script>

cookie简单介绍

cookie是浏览器提供的一种机制,它将document对象的cookie属性提供给javascript。可以由javascript对起进行控制

而并不是javascript本身的性质。cookie是存于用户硬盘的一个文件,这个文件通常对应于一个域名,当浏览器再次

访问这个域名时,便使这个cookie可用。因此,cookie可以跨越一个域名下的多个网页,但不能跨越多个域名使用。

cookie机制将信息存储于用户硬盘,因此可以作为全局变量,这是它最大的一个优点。它可以用于以下几种场合。

(1) 保存用户登录状态

(2) 跟踪用户行为

(3) 定制页面

(4) 创建购物车

设置cookie

每个cookie都是一个名/值对,可以把下面这样一个字符串赋值给document.cookie

document.cookie="username=zhangsan";

如果要一次存储多个名/值对,可以使用分号加空格(;  )隔开,例如:

document.cookie="username=zhangsan;  password=123";

在cookie 的名或值中不能使用分号(;)、逗号(,)、等号(=)以及空格。在cookie的名中做到这点很容易,但要保存的值是不确定的。如何来存储这些值呢?方 法是用escape()函数进行编码,它能将一些特殊符号使用十六进制表示,例如空格将会编码为“20%”,从而可以存储于cookie值中,而且使用此 种方案还可以避免中文乱码的出现。

给cookie设置终止日期

到现在为止,所以的cookie都是单会话cookie,即浏览器关闭后这些cookie将会丢失。

在实际开发中,cookie常常需要长期保持,例如保存用户登录的状态,可以用下面的选项来实现:

document.cookie="username=zhangsan; expiress=GMT_String";

其中GMT_String是以GMT格式表示的时间字符串,这条语句就是将username这个cookie设置为GMT_String

表示的过期时间,超过这个时间,cookie将消失,不可访问

js保存,获取,删除cookie的操作的更多相关文章

  1. js 判断js函数、变量是否存在 JS保存和删除cookie操作,判断cookie是否存在的方法

    //是否存在指定函数 function isExitsFunction(funcName) {    try {        if (typeof(eval(funcName)) == " ...

  2. js 第四章 cookie的操作

    js 第四章 cookie的操作 一.学习要点 掌握cookie的简单应用 二. js 第四章 cookie的操作 了解cookie 什么是cookie? cookie 是存储于访问者的计算机中的变量 ...

  3. JS读取写入删除COOKIE的各种操作

    1. .NET后置代码中获取 Response.Redirect("http://www.baidu.com?id=" +Request.Cookies["size&qu ...

  4. js添加、删除Cookie

    //cookie function addCookie(objName, objValue, objHours) { //添加cookie var str = objName + "=&qu ...

  5. 如何设置,获取,删除cookie?

    cookie : 存储数据,当用户访问了某个网站(网页)的时候,我们就可以通过cookie来像访问者电脑上存储数据 1.不同的浏览器存放的cookie位置不一样,也是不能通用的 2.cookie的存储 ...

  6. Js添加、读取、删除cookie,判断cookie是否有效,指定domain域下主路径path下设置cookie,设置expires过期时间

    有时我们需要用cookie保存用户名,记录登录状态,如何正确判断该机用户cookie是否存在呢?不能简单使用a!=”这样的写法. 正确方法是:判断是否存在名为username3的cookie,使用do ...

  7. Jquery对Cookie的操作

    第一步:先引用jQuery的插件jquery-1.9.1.min.js 第二步:引用jquery.cookie.js插件 下对cookie的操作: $.cookie("cookieName& ...

  8. js封装Cookie操作 js 获取cookie js 设置cookie js 删除cookie

    每天学习一点点 编程PDF电子书.视频教程免费下载:http://www.shitanlife.com/code var CookieUtil = { // 设置cookie set : functi ...

  9. js/java 获取、添加、修改、删除cookie(最全)

      一.cookie介绍 1.cookie的本来面目 HTTP协议本身是无状态的.什么是无状态呢,即服务器无法判断用户身份.Cookie实际上是一小段的文本信息(key-value格式).客户端向服务 ...

随机推荐

  1. oracle 中decode函数用法

    学习记录: 含义解释: decode(条件,值1,返回值1,值2,返回值2,...值n,返回值n,缺省值) 该函数的含义如下:IF 条件=值1 THEN RETURN(翻译值1)ELSIF 条件=值2 ...

  2. 模块math和cmath

    python使用特殊命令import导入模块,再以module.function的方式使用模块 python标准库提供了一个专门用于处理复数的模块cmath,math处理数据 模块math常用的函数有 ...

  3. SprinMVC中文件上传只在内存保留一份拷贝

    背景:web项目里经常有上传文件的模块,某些特殊场景下,上传文件的人不希望在服务器留存一份原始文件,这个时候就需要把文件放到内存里了. 笔者调试了一下springmvc里面的CommonsMultip ...

  4. Jmeter常用脚本开发之JDBC请求

    简单说明:JDBC请求就是使用Jmeter连接数据库,执行sql语句,并返回对应的响应结果 步骤: 1.引入使用的数据库的驱动jar包,使用不同的数据库,我们需要引入不同的jar包.本文使用的MySQ ...

  5. 使用DirectX作渲染过程

    1. 首先知道渲染代码放置位置.渲染代码放在WinMain消息循环中 while(msg.message!=WM_QUIT) { if(PeekMessage(****) { TranslateMes ...

  6. c#按照回车换行符分割字符串

    string str="aaa\r\nbbscccjdddseee"; string[] sArray=str.Split(new char[2] {'\r','\n'}); 和用 ...

  7. c# 关于字典dictionary 按时间排序

    上文中说到sortedlist 排序是键排序,不符合项目要求问题,接着使用字典dictionary 对value 为时间按照升序排序,问题解决.中间涉及到linq的使用.还有其他的写法,但发现下边的写 ...

  8. 优化myeclipse启动速度以及解决内存不足问题

    解决myeclipse内存不足问题: 使用 MyEclipse 开发项目后,随着项目文件的增多,以及运行时间的增加,实际上 MyEclipse 所消耗的内存是会一直增大的,有的时候会出现 MyEcli ...

  9. How to program BMW KOMBI and NBTwith ENET E sys cable ICOM A2

    This is how to set up Router or DHCP server for BMW KOMBI and NBT programming with Enet e sys cable ...

  10. UOJ 67 新年的毒瘤 - Tarjan

    Description 给出一个无向图, 要求找出某个点$u$, 去掉$u$和$u$所连的边, 所剩下的节点构成一棵树. Solution 首先, 割点肯定是不可能满足条件的, 因为去掉割点后会构成若 ...