js操作cookie自动登陆
- 格式:docx
- 大小:14.58 KB
- 文档页数:4
js获取cookie值的方法JavaScript是一种广泛应用于网页开发的脚本语言,它可以实现很多有趣和实用的功能。
其中,获取cookie值是JavaScript中的一个重要操作,因为cookie是在用户浏览器中存储的一些信息,可以用来实现用户登录状态的保持、用户偏好设置的保存等功能。
接下来,我们就来详细介绍一下在JavaScript中获取cookie值的方法。
首先,我们需要了解一下cookie是什么以及它的结构。
在JavaScript中,我们可以通过document.cookie来获取当前页面的所有cookie。
这个属性返回的是一个字符串,其中包含了所有的cookie信息,格式为键值对的形式,各个键值对之间用分号加空格("; ")分隔。
比如,一个典型的cookie字符串可能是这样的,"username=JohnDoe; expires=Thu, 18 Dec 2023 12:00:00 UTC; path=/"。
在这个例子中,我们可以看到有一个名为username的cookie,它的值是JohnDoe,还有一个expires和path的属性。
接下来,我们就来介绍一下如何在JavaScript中获取cookie 的值。
获取cookie值的一般方法是先通过document.cookie获取所有cookie信息,然后再从中筛选出我们需要的那个cookie的值。
下面我们就来介绍一下几种常用的方法。
第一种方法是使用正则表达式来匹配我们需要的cookie值。
我们可以先通过document.cookie获取所有cookie信息,然后使用正则表达式来匹配我们需要的那个cookie的值。
比如,如果我们需要获取名为username的cookie的值,我们可以使用下面的代码来实现:```javascript。
function getCookieValue(cookieName) {。
js cookie设置规则摘要:1.JS Cookie 的定义与作用2.JS Cookie 的设置方法3.JS Cookie 的读取方法4.JS Cookie 的删除方法5.JS Cookie 的注意事项正文:一、JS Cookie 的定义与作用JS Cookie(JavaScript Cookie)是一种在用户浏览器中存储数据的技术,它可以帮助网站开发者跟踪用户的行为、偏好和活动。
通过JS Cookie,网站可以实现一些个性化功能,例如自动登录、保存购物车等。
JS Cookie 实际上是HTML Cookie 的一种扩展,它允许在客户端脚本(如JavaScript)中读取、创建、修改和删除Cookie。
二、JS Cookie 的设置方法要设置JS Cookie,可以使用以下方法:1.使用`document.cookie`属性`document.cookie`属性可以用来读取、创建、修改和删除Cookie。
以下是一个设置Cookie 的示例:```javascriptfunction setCookie(name, value, days) {let expires = "";if (days) {const date = new Date();date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));expires = "; expires=" + date.toUTCString();}document.cookie = name + "=" + (value || "") + expires + "; path=/";}// 使用示例:设置名为"username"的Cookie,值为"张三",有效期为30 天setCookie("username", "张三", 30);```2.使用`Secure`和`HttpOnly`属性为了提高Cookie 的安全性,可以设置`Secure`和`HttpOnly`属性。
轻量级JSCookie插件js-cookie的使⽤⽅法Cookie是⽹站设计者放置在客户端的⼩⽂本⽂件,⼀般后台语⾔使⽤的⽐较多,可以实现⽤户个性化的⼀些需求。
js-cookie 插件是⼀个JS操作cookie的插件,源⽂件只有3.34 KB,⾮常轻量级。
js-cookie也⽀持npm和Bower安装和管理。
下⾯看看js-cookie的具体⽤法。
A simple, lightweight JavaScript API for handling cookiesWorks in all browsersAccepts any characterHeavily testedNo dependencyUnobtrusive JSON supportSupports AMD/CommonJSRFC 6265 compliantUseful WikiEnable custom encoding/decoding~900 bytes gzipped!引⽤⽅法:1、引⼊js-cookie.js1.直接饮⽤cdn:<script src="https:///npm/js-cookie@2/src/js.cookie.min.js"></script>2.本地下载下来后:<script src="/path/to/js.cookie.js"></script>3.模块化开发时: import Cookies from 'js-cookie'2、js-cookie.js常⽤的API和⽅法a、设置cookieCookies.set('name', 'value', { expires: 7, path: '' });//7天过期Cookies.set('name', { foo: 'bar' });//设置⼀个jsonb、读取cookieCookies.get('name');//获取cookieCookies.get(); #读取所有的cookiec、删除cookieCookies.remove('name'); #删除cookie时必须是同⼀个路径。
JS设置cookie,删除cookiejs设置cookie有很多种⽅法。
第⼀种:(这个是w3c官⽹的代码)<script>//设置cookiefunction setCookie(cname, cvalue, exdays) {var d = new Date();d.setTime(d.getTime() + (exdays*24*60*60*1000));var expires = "expires="+d.toUTCString();document.cookie = cname + "=" + cvalue + "; " + expires;}//获取cookiefunction getCookie(cname) {var name = cname + "=";var ca = document.cookie.split(';');for(var i=0; i<ca.length; i++) {var c = ca[i];while (c.charAt(0)=='') c = c.substring(1);if (c.indexOf(name) != -1) return c.substring(name.length, c.length);}return"";}//清除cookiefunction clearCookie(name) {setCookie(name, "", -1);}function checkCookie() {var user = getCookie("username");if (user != "") {alert("Welcome again " + user);} else {user = prompt("Please enter your name:", "");if (user != "" && user != null) {setCookie("username", user, 365);}}}checkCookie();</script>第⼆种:<script>//JS操作cookies⽅法!//写cookiesfunction setCookie(c_name, value, expiredays){ var exdate=new Date(); exdate.setDate(exdate.getDate() + expiredays); document.cookie=c_name+ "=" + escape(value) + ((expiredays==null) ? "" : ";expires="+exdate.toGMTString()); }//读取cookiesfunction getCookie(name){var arr,reg=new RegExp("(^| )"+name+"=([^;]*)(;|$)");if(arr=document.cookie.match(reg))return (arr[2]);elsereturn null;}//删除cookiesfunction 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();}//使⽤⽰例setCookie('username','Darren',30)alert(getCookie("username"));</script>第三个例⼦<html><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><head><script language="JavaScript" type="text/javascript">function addCookie(objName, objValue, objHours){//添加cookievar str = objName + "=" + escape(objValue);if (objHours > 0) {//为0时不设定过期时间,浏览器关闭时cookie⾃动消失var date = new Date();var ms = objHours * 3600 * 1000;date.setTime(date.getTime() + ms);str += "; expires=" + date.toGMTString();}document.cookie = str;alert("添加cookie成功");}function getCookie(objName){//获取指定名称的cookie的值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]);}}function delCookie(name){//为了删除指定名称的cookie,可以将其过期时间设定为⼀个过去的时间var date = new Date();date.setTime(date.getTime() - 10000);document.cookie = name + "=a; expires=" + date.toGMTString();}function allCookie(){//读取所有保存的cookie字符串var str = document.cookie;if (str == "") {str = "没有保存任何cookie";}alert(str);}function $(m, n){return document.forms[m].elements[n].value;}function add_(){var cookie_name = $("myform", "cookie_name");var cookie_value = $("myform", "cookie_value");var cookie_expireHours = $("myform", "cookie_expiresHours");addCookie(cookie_name, cookie_value, cookie_expireHours);}function get_(){var cookie_name = $("myform", "cookie_name");var cookie_value = getCookie(cookie_name);alert(cookie_value);}function del_(){var cookie_name = $("myform", "cookie_name");delCookie(cookie_name);alert("删除成功");}</script></head><body><form name="myform"><div><label for="cookie_name">名称</label><input type="text" name="cookie_name" /></div><div><label for="cookie_value">值</lable><input type="text" name="cookie_value" /></div><div><label for="cookie_expireHours">多少个⼩时过期</lable><input type="text" name="cookie_expiresHours" /></div><div><input type="button" value="添加该cookie" onclick="add_()"/><input type="button" value="读取所有cookie" onclick="allCookie()"/><input type="button" value="读取该名称cookie" onclick="get_()"/><input type="button" value= </div></form></body></html>注意:chrome浏览器在本地获取不到cookie。
js-cookie的使用domain用法JS-Cookie是一个简便易用的JavaScript库,用于在浏览器中设置和获取HTTP cookies。
当我们设置一个cookie时,它会存储在用户的浏览器中,并且每次用户访问网站时都会被发送到服务器。
domain属性用于设置cookie的域名。
通过设置domain属性,我们可以控制cookie在哪些域名下可用。
然而,有时我们希望cookie在跨域名访问时也可用。
这是我们可以使用domain属性。
通过设置cookie的domain属性,我们可以指定cookie在多个域名下可用。
下面是JS-Cookie的用法示例:```javascript// 设置cookie// 获取cookievar value = Cookies.get('name');``````javascript// 设置cookie在所有子域名下可用```需要注意的是,当我们设置domain属性时,需要确保它与当前网站的域名匹配。
否则,浏览器会忽略这个cookie。
另外,还需要注意的是,使用domain属性设置的cookie并不是绝对安全的。
因为当我们指定一个较大的域名范围时,其他网站也可以访问该cookie。
因此,我们应该谨慎使用domain属性,确保我们只将cookie设置为在需要的域名下可用。
总结:- 通过设置domain属性,我们可以控制cookie在哪些域名下可用。
- 可以使用具体的域名,或者使用通配符来设置domain属性。
- 使用domain属性时要确保与当前网站的域名匹配。
- 谨慎使用domain属性,确保cookie只在需要的域名下可用。
保持登录状态的实现方式一、基于Cookie的方式。
1. 设置Cookie。
- 当用户首次登录成功时,服务器端在响应中设置一个包含用户标识(如用户ID)和登录状态相关信息(如登录时间、有效期等)的Cookie。
例如,在一个Web应用中,使用Node.js的Express框架,代码可能如下:javascript.const express = require('express');const app = express();app.post('/login', (req, res) => {const user = {id: 123, username: 'example_user'};res.cookie('user', JSON.stringify(user), {maxAge: 3600000, httpOnly: true});res.send('Login successful');});- 这里设置了一个名为`user`的Cookie,将用户对象转换为字符串后存储在Cookie中,`maxAge`指定了Cookie的有效期为1小时(3600000毫秒),`httpOnly`设置为`true`可增加安全性,防止客户端脚本访问Cookie。
2. 验证Cookie。
- 在后续的请求中,服务器端会验证Cookie中的用户标识和登录状态信息。
例如,在Express中,可以使用中间件来验证Cookie:javascript.e((req, res, next) => {const userCookie = er;if (userCookie) {const user = JSON.parse(userCookie);// 可以在这里进一步验证用户状态,如检查用户是否被封禁等。
next();} else {res.status(401).send('Unauthorized');}});- 这个中间件会检查每个请求中的`user`Cookie,如果存在则解析并允许请求继续(通过`next()`),如果不存在则返回`401 Unauthorized`状态码。
js获取cookie值的方法JavaScript获取cookie值的方法。
在Web开发中,我们经常需要使用cookie来存储和获取用户的信息。
而JavaScript作为前端开发的重要工具,也提供了多种方法来获取cookie的值。
本文将介绍几种常用的JavaScript获取cookie值的方法,希望能对你有所帮助。
方法一,使用document.cookie。
JavaScript中最简单的获取cookie值的方法就是使用document.cookie属性。
该属性返回当前文档的所有cookie,格式为键值对的字符串,我们可以通过解析字符串来获取特定的cookie值。
示例代码如下:```javascript。
function getCookie(name) {。
var cookieArr = document.cookie.split("; ");for (var i = 0; i < cookieArr.length; i++) {。
var arr = cookieArr[i].split("=");if (arr[0] === name) {。
return arr[1];}。
}。
return "";var username = getCookie("username");console.log(username);```。
方法二,使用正则表达式。
除了使用split方法来解析document.cookie字符串外,我们还可以使用正则表达式来获取特定的cookie值。
这种方法通常更灵活,能够更精确地匹配cookie名称。
示例代码如下:```javascript。
function getCookie(name) {。
var reg = new RegExp("(^| )"+name+"=([^;])(;|$)");var arr = document.cookie.match(reg);if (arr) {。
js解决cookie跨域访问的问题今天有一同事问到一个Cookie跨域访问的问题,大概是这样的:“有两个不同域名的系统A(/a.jsp)与B(/b.jsp);当系统A成功登录后,系统B也能够同时自动完成登录,有点像一点登录的效果”。
为了快速、简单的实现这一功能,首先想到就是通过JS操作Cookie并让两个不同域的cookie能够相互访问,这样就可达到了上述的效果,具体实现过程大致可分以下两个步骤:1、在A系统下成功登录后,利用JS动态创建一个隐藏的iframe,通过iframe的src 属性将A域下的cookie值作为get参数重定向到B系统下b.jsp页面上;Js代码var _frm = document.createElement("iframe");_frm.style.display="none";_frm.src="/b.jsp?test_cookie=xxxxx";document.body.appendChild(_frm);2、在B系统的b.jsp页面中来获取A系统中所传过来的cookie值,并将所获取到值写入cookie中,这样就简单的实现了cookie跨域的访问;不过这其中有个问题需要注意,就是在IE浏览器下这样操作不能成功,需要在b.jsp页面中设置P3P HTTP Header就可以解决了(具体詳細信息可以参考:/P3P/),P3P设置代码为:Java代码<%response.setHeader("P3P","CP='IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT'");%>。
⾃动登录脚本(⽤户名+密码)前提:创建⼀个text⽂件,⽤于存储⽤户名和密码,再⽤代码去调⽤⽂件,root,,122root,123yohonormal,123456测试⽤的⽤户名和密码此⽂件中包含了⽤户名和密码都为空、密码为空、⽤户名为空、密码错误、⽤户名和密码都正确的情况1、打算把⽂件查看也封装成⼀个⽅法,发现没办法把登录加进去,写了⼀个半成品,还没搞好from selenium import webdriverfrom time import sleepun = ''pw = ''# 打开⾕歌浏览器browser = webdriver.Chrome(r'/Users/chensihan/Downloads/chromedriver')# 最⼤化浏览器browser.maximize_window()# 打开公司内部⽹站browser.get("https:///login")# 给1秒钟去打开页⾯,没打开页⾯就去做其他操作,会报错sleep(1)# 获取⽂件数据def file():# 将un,pw作为全部变量,在此函数中赋值后,在其他函数中可使⽤这个值,否则使⽤的是初始化的值global un, pw, msg_line# 打开⽂件,读取⽤户名msg = open('/Users/chensihan/Desktop/⽤户名和密码.txt', 'r')# 循环获取每⾏内容for line in msg:# 使⽤split按空格分割字符,并且⽤strip去除掉两边的空格,得到了⼀个列表msg_line,# msg_line的第0个元素就是⽂件第⼀⾏的⽤户名,msg_line的第1个元素就是⽂件第⼀⾏的密码msg_line = line.strip().split()# 将msg_line的第0个元素赋值给un,⽤于登录函数中输⼊⽤户名un = msg_line[0]# 将msg_line的第1个元素赋值给pw,⽤于登录函数中输⼊密码pw = msg_line[1]msg.close()# 登录def login():# 通过xpath定位⽤户名输⼊框,并清空输⼊框browser.find_element_by_xpath('//*[@id="root"]/div/div[1]/div[1]/input').clear()# 输⼊⽤户名browser.find_element_by_xpath('//*[@id="root"]/div/div[1]/div[1]/input').send_keys(un)# 通过xpath定位密码输⼊框,并清空输⼊框browser.find_element_by_xpath('//*[@id="root"]/div/div[1]/div[2]/input').clear()# 输⼊密码browser.find_element_by_xpath('//*[@id="root"]/div/div[1]/div[2]/input').send_keys(pw)sleep(1)# 登录browser.find_element_by_class_name('_1dNJXuqS50-Y8IDzBbpxeR').click()# 给⽹页2秒加载时间sleep(2)# 退出当前账户def quit():browser.find_element_by_class_name('_1ECz20e4Sb4cz8jt2QRoBL').click()sleep(2)# file()# login()# quit()def start():while 1:file()if msg_line != []:login()quit()else:print('执⾏完毕')breakstart()## # 截取当前页⾯# browser.save_screenshot("/Applications/Google Chrome.app/p.png")# # 定位验证码# yzm = browser.find_element_by_id('randImage')## location = yzm.location# size = yzm.size# rangle = (int(location['x']), int(location['y']), int(location['x']+size['width']), int(location['y']+size['height'])) ## i = Image.open('/Applications/Google Chrome.app/p.png')# frame4 = i.crop(rangle)# frame4.save('/Applications/Google Chrome.app/frame4.png')# dym = Image.open('/Applications/Google Chrome.app/frame4.png')# text = pytesseract.image_to_string(dym)# browser.find_element_by_name('code').send_keys(text)# browser.find_elements_by_class_name('btn').click()未完成的循环,可以不看未完成的循环,可以不看2、除⽂件外,其余都封装成了⽅法from selenium import webdriverfrom time import sleepun = ''pw = ''# 打开⾕歌浏览器browser = webdriver.Chrome(r'/Users/chensihan/Downloads/chromedriver')# 最⼤化浏览器browser.maximize_window()# 打开公司内部⽹站browser.get("https:///login")# 给1秒钟去打开页⾯,没打开页⾯就去做其他操作,会报错sleep(1)# 登录def login():# 通过xpath定位⽤户名输⼊框,并清空输⼊框browser.find_element_by_xpath('//*[@id="root"]/div/div[1]/div[1]/input').clear()# 输⼊⽤户名browser.find_element_by_xpath('//*[@id="root"]/div/div[1]/div[1]/input').send_keys(un)# 通过xpath定位密码输⼊框,并清空输⼊框browser.find_element_by_xpath('//*[@id="root"]/div/div[1]/div[2]/input').clear()# 输⼊密码browser.find_element_by_xpath('//*[@id="root"]/div/div[1]/div[2]/input').send_keys(pw)sleep(1)# 登录browser.find_element_by_class_name('_1dNJXuqS50-Y8IDzBbpxeR').click()# 给⽹页2秒加载时间sleep(2)# 退出当前账户def quit():browser.find_element_by_class_name('_1ECz20e4Sb4cz8jt2QRoBL').click()sleep(2)# 打开⽂件,读取⽤户名msg = open('/Users/chensihan/Downloads/⽼男孩/selenium测试/0测试⽤的⽤户名和密码', 'r')# 循环获取每⾏内容for line in msg:# 使⽤split按空格分割字符,并且⽤strip去除掉两边的空格,得到了⼀个列表msg_line,# msg_line的第0个元素就是⽂件第⼀⾏的⽤户名,msg_line的第1个元素就是⽂件第⼀⾏的密码msg_line = line.strip().split()# 将msg_line的第0个元素赋值给un,⽤于登录函数中输⼊⽤户名un = msg_line[0]# 将msg_line的第1个元素赋值给pw,⽤于登录函数中输⼊密码pw = msg_line[1]# 容错处理# 正确的执⾏登录和退出# 关闭浏览器browser.quit()View Code3、上边的代码只有正确账号登录,没有兼容错误的账号,本版本加了空账号、缺失⽤户名或密码的from selenium import webdriverfrom time import sleepun = ''pw = ''# 打开⾕歌浏览器browser = webdriver.Chrome(r'/Users/chensihan/Downloads/chromedriver')# 最⼤化浏览器browser.maximize_window()# 打开公司内部⽹站browser.get("https:///login")# 给1秒钟去打开页⾯,没打开页⾯就去做其他操作,会报错sleep(1)# 登录def login():# 通过xpath定位⽤户名输⼊框,并清空输⼊框browser.find_element_by_xpath('//*[@id="root"]/div/div[1]/div[1]/input').clear()# 输⼊⽤户名browser.find_element_by_xpath('//*[@id="root"]/div/div[1]/div[1]/input').send_keys(un)# 通过xpath定位密码输⼊框,并清空输⼊框browser.find_element_by_xpath('//*[@id="root"]/div/div[1]/div[2]/input').clear()# 输⼊密码browser.find_element_by_xpath('//*[@id="root"]/div/div[1]/div[2]/input').send_keys(pw)sleep(1)# 登录browser.find_element_by_class_name('_1dNJXuqS50-Y8IDzBbpxeR').click()# 给⽹页2秒加载时间sleep(2)# 退出当前账户def quit():browser.find_element_by_class_name('_1ECz20e4Sb4cz8jt2QRoBL').click()sleep(2)# 打开⽂件,读取⽤户名msg = open('/Users/chensihan/Downloads/⽼男孩/selenium测试/0测试⽤的⽤户名和密码', 'r')# 循环获取每⾏内容for line in msg:# 使⽤split按空格分割字符,并且⽤strip去除掉两边的空格,得到了⼀个列表msg_line,# msg_line的第0个元素就是⽂件第⼀⾏的⽤户名,msg_line的第1个元素就是⽂件第⼀⾏的密码msg_line = line.strip().split(',')# 判断是否输⼊为空,如果获取当前⾏的元素为0个if len(msg_line) == 0:un = ''pw = ''else:# 将msg_line的第0个元素赋值给un,⽤于登录函数中输⼊⽤户名un = msg_line[0]# 将msg_line的第1个元素赋值给pw,⽤于登录函数中输⼊密码pw = msg_line[1]# 容错处理# 正确的执⾏登录和退出try:login()quit()# 错误的跳出当前循环except:continue# 关闭浏览器browser.quit()加了错误处理加了错误处理4、代码可执⾏了,接下来就是把测试结果保存到⽂件,测试结果,就是发送登录请求后,接⼝返回的数据,以及当前请求接⼝时使⽤的⽤户名和密码from selenium import webdriverfrom time import sleepimport requestsimport jsonun = ''pw = ''# 打开⾕歌浏览器browser = webdriver.Chrome(r'/Users/chensihan/Downloads/chromedriver')# 最⼤化浏览器browser.maximize_window()# 打开公司内部⽹站browser.get("https:///login_file")# 给1秒钟去打开页⾯,没打开页⾯就去做其他操作,会报错sleep(1)# 登录def login():# 通过xpath定位⽤户名输⼊框,并清空输⼊框browser.find_element_by_xpath('//*[@id="root"]/div/div[1]/div[1]/input').clear()# 输⼊⽤户名browser.find_element_by_xpath('//*[@id="root"]/div/div[1]/div[1]/input').send_keys(un)# 通过xpath定位密码输⼊框,并清空输⼊框browser.find_element_by_xpath('//*[@id="root"]/div/div[1]/div[2]/input').clear()# 输⼊密码browser.find_element_by_xpath('//*[@id="root"]/div/div[1]/div[2]/input').send_keys(pw)sleep(1)# 登录browser.find_element_by_class_name('_1dNJXuqS50-Y8IDzBbpxeR').click()# 给⽹页2秒加载时间sleep(2)# 获取登录后登录接⼝的数据# 接⼝地址url = 'https:///apiauth/login/login'# 请求头headers = {"Content-Type": "application/json",}# 请求体。
js cookie写法-回复如何使用JavaScript 中的cookie在Web 开发过程中,cookie 是一种在客户端存储数据的方式,它可以在客户端和服务器之间传递信息。
JavaScript 提供了许多操作cookie 的方法,本文将一步一步地回答如何使用JavaScript 中的cookie。
步骤一:设置cookie在JavaScript 中,我们可以使用`document.cookie` 来设置cookie。
cookie 是一个字符串,包含多个键值对。
下面是一个设置cookie 的示例代码:javascriptdocument.cookie = "username=John Doe";在上面的代码中,我们设置了一个名为`username` 的cookie,其值为`John Doe`。
请注意,这个cookie 是在当前域名下创建的。
步骤二:获取cookie要获取cookie 的值,我们可以使用`document.cookie` 来获取当前域名下的所有cookie。
下面是一个获取cookie 值的示例代码:javascriptvar cookies = document.cookie;console.log(cookies);在上面的代码中,我们将所有的cookie 存储在`cookies` 变量中,并将其打印到控制台。
步骤三:设置cookie 过期时间默认情况下,cookie 是在浏览器关闭时过期。
但是,我们可以通过设置`expires` 属性来指定cookie 的过期时间。
下面是一个设置cookie 过期时间的示例代码:javascriptvar d = new Date();d.setTime(d.getTime() + (7 * 24 * 60 * 60 * 1000));var expires = "expires=" + d.toUTCString();document.cookie = "username=John Doe;" + expires;在上面的代码中,我们创建了一个`Date` 对象并将其时间设置为当前时间加上七天。
* 操作Cookie 添加* @param name* @param value* @return*/function SetCookie(name,value,days)//两个参数,一个是cookie的名子,一个是值{var Days = 30;if(typeof(days)=="undefined"||isNaN(days))Days=parseInt(days.toString());//此cookie 将被保存30 天-1为浏览器关闭if(Days!=-1){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();}else{document.cookie = name + "="+ escape (value) + ";expires=-1";}}/*** 操作Cookie 提取后台必须是escape编码* @param name* @return*/function getCookie(name)//取cookies函数{var arr = document.cookie.match(new RegExp("(^| )"+name+"=([^;]*)(;|$)"));if(arr != null) return unescape(arr[2]); return null;}/*** 操作Cookie 删除* @param name* @return*/function delCookie(name)//删除cookie{var exp = new Date();exp.setTime(exp.getTime() - (86400 * 1000 * 1));var cval=getCookie(name);if(cval!=null)document.cookie = name + "="+ escape (cval) + ";expires="+exp.toGMTString(); }/*** 根据ID获取对象* @param objName* @return*/function GetObj(objName){if(typeof(objName)=="undefined")return null;if(document.getElementById)return eval('document.getElementById("'+objName+'")');elsereturn eval('document.all.'+objName);}/*** 给String 添加trim方法*/String.prototype.trim=function(){return this.replace(/(^\s*)|(\s*$)/g, "");}/*** 给String添加isNullOrempty的方法*/String.prototype.isnullorempty=function(){if(this==null||typeof(this)=="undefined"||this.trim()=="")return true;return false;}<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html><head><title>login.html</title><script type="text/javascript" src="jsTool.js"></script><script type="text/javascript">var cookieName_username="LOGIN_USER_NAME_TEST";var cookieName_password="LOGIN_PASSWORD_TEST";var cookieName_autologin="LOGIN_AUTO_TEST";//得到Cookie信息function getUserInfoByCookie(){var uname=getCookie(cookieName_username);if(uname!=null&&!uname.toString().isnullorempty()){GetObj('ttuserName').value=uname;GetObj('ck_saveuser').checked=true;}var upass=getCookie(cookieName_password)if(upass!=null&&!upass.toString().isnullorempty()){GetObj('ttpassword').value=upass;GetObj('ck_savepass').checked=true;}var autologin=getCookie(cookieName_autologin)if(autologin!=null&&!autologin.toString().isnullorempty())if(autologin.toString().trim()=="true"){GetObj('ck_autologin').checked=true;login();//登录}}/***登录(保存信息)*/function login(){var tusername=GetObj('ttuserName');if(tusername.value.trim().isnullorempty()){alert('您尚未输入用户名!请输入!');tpassword.focus();return;}var tpassword=GetObj('ttpassword');if(tpassword.value.trim().isnullorempty()){alert('您尚未输入密码!请输入!');tpassword.focus();return;}delCookie(cookieName_username);//删除用户名Cookievar tsaveuser=GetObj('ck_saveuser');if(tsaveuser.checked)SetCookie(cookieName_username,tusername.value.trim(),7);//保存到Cookie 中保存7天delCookie(cookieName_password);//删除密码var tsavepass=GetObj('ck_savepass');if(tsavepass.checked)SetCookie(cookieName_password,tpassword.value.trim(),7);var autologin=GetObj('ck_autologin');SetCookie(cookieName_autologin,autologin.checked,7);alert('登录成功!');}</script></head><body onload="getUserInfoByCookie()">用户名:<input type="text" value="" name="ttuserName" id="ttuserName" maxlength="16"/>密码:<input type="password" value="" name="ttpassword" id="ttpassword" maxlength="16"/><input type="checkbox" name="ck_saveuser" id="ck_saveuser"/>保存用户名<input type="checkbox" name="ck_savepass" id="ck_savepass"/>保存密码<input type="checkbox" name="ck_autologin" id="ck_autologin"/>自动登录<input type="button" value="登录(保存)" onclick="login()"/></body></html>。