个人对页面记住账户密码的cookie方法的一些尝试
2015-11-20 22:26
483 查看
引言
最近因为项目需求,所以对页面的cookie做了一些尝试,当勾选了记住账户密码的时候就可以在下次登录的时候不必再重新输入账号密码,下面我就其具体实现说明一下。
上面的是先添加设置cookie,
上面的是获取在输入账号密码的cookie
上面的代码是删除cookie
上面的代码就是判断是否有勾选记住账户密码,如果勾选了,则调用addCookie方法。
还有一点就是在js中页面加载完成就该调用initUsername方法。
最近因为项目需求,所以对页面的cookie做了一些尝试,当勾选了记住账户密码的时候就可以在下次登录的时候不必再重新输入账号密码,下面我就其具体实现说明一下。
function addCookie(name,value,days,path){ /**添加设置cookie**/ var name = escape(name); var value = escape(value); var expires = new Date(); expires.setTime(expires.getTime() + days * 3600000 * 24); path = path == "" ? "" : ";path=" + path; var _expires = (typeof days) == "string" ? "" : ";expires=" + expires.toUTCString(); document.cookie = name + "=" + value + _expires + path; }
上面的是先添加设置cookie,
//获取cookie值 function initUsername(){ var userNameValue = getCookieValue("userName"); document.getElementById("userName").value = userNameValue; var userPassValue = getCookieValue("password"); document.getElementById("password").value = userPassValue; } function getCookieValue(name){ /**获取cookie的值,根据cookie的键获取值**/ //用处理字符串的方式查找到key对应value var name = escape(name); //读cookie属性,这将返回文档的所有cookie var allcookies = document.cookie; //查找名为name的cookie的开始位置 name += "="; var pos = allcookies.indexOf(name); //如果找到了具有该名字的cookie,那么提取并使用它的值 if (pos != -1){ //如果pos值为-1则说明搜索"version="失败 var start = pos + name.length; //cookie值开始的位置 var end = allcookies.indexOf(";",start); //从cookie值开始的位置起搜索第一个";"的位置,即cookie值结尾的位置 if (end == -1) end = allcookies.length; //如果end值为-1说明cookie列表里只有一个cookie var value = allcookies.substring(start,end); //提取cookie的值 return (value); //对它解码 }else{ //搜索失败,返回空字符串 return ""; } }
上面的是获取在输入账号密码的cookie
function deleteCookie(name,path){ /**根据cookie的键,删除cookie,其实就是设置其失效**/ var name = escape(name); var expires = new Date(0); path = path == "" ? "" : ";path=" + path; document.cookie = name + "="+ ";expires=" + expires.toUTCString() + path; }
上面的代码是删除cookie
function doLogin() { var uName = $('#userName').val(); var psw = $('#password').val(); if (commonJS.validateTagsNull("userName,password")) return; var rememberMe = 0; if ($("input[type='checkbox']").is(":checked")) { rememberMe = 1; if(rememberMe){ addCookie("userName", uName, 7, "/"); addCookie("password",psw,7,"/"); }else{ deleteCookie(uName, "/"); deleteCookie(psw,"/"); } }
上面的代码就是判断是否有勾选记住账户密码,如果勾选了,则调用addCookie方法。
还有一点就是在js中页面加载完成就该调用initUsername方法。
相关文章推荐
- 南桥 北桥
- [黑马IOS自学第三篇]C语言条件分支,while循环语句等
- Android异步加载网络图片
- Compare Version Numbers
- Java中HashMap,LinkedHashMap,TreeMap的区别
- 10G rac 因为ocr原因导致crs不能启动的排查二例
- HDOJ 2016 数据的交换输出
- 多线程安全问题
- No match found for 'my_favorites' in the search path
- 南大软院21天大神养成计划-第4天
- Fresco加载显示gif图片
- MySQL与MongoDB的操作对比,以及区别
- 5.1.3 date对象
- triangle
- 5.1.3 date对象
- 在C++中实现foreach循环,比for_each更简洁!
- C++ inline
- 《软件方法》阅读笔记(二)
- HDU4324-Triangle LOVE-判断是否存在环(拓扑)
- [笔记-架构探险]框架优化与功能扩展3.2.安全框架shiro、提供安全控制特性