个人对页面记住账户密码的cookie方法的一些尝试

原创 2015年11月20日 22:26:00

引言

最近因为项目需求,所以对页面的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方法。

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

强制找回GitLab管理员账户密码的方法

为了开发运维工具,我们采用自行搭建的GitLab来管理所有代码。悲催的是最近忘记了管理员账户的密码,导致无法新建用户或者项目,这样一来,岂不就成为了一个”永不能扩展”的代码库?难道只能重建?重建可以解...
  • bisal
  • bisal
  • 2017年01月22日 22:54
  • 602

修改 SVN 账户密码的方法

原文出处:https://software.intel.com/zh-cn/blogs/2014/02/20/svn     由于在svn 的界面中并没有为我们提供直接更换用户名密码的地方,所以...
  • irokay
  • irokay
  • 2015年09月18日 13:21
  • 324

基于visual c++之windows核心编程代码分析(58) MSN账户密码监测防范

使用MSN的用户还是很多的,在未来国家之间的网络战争中,获取密码变得非常重要,很多敌对分子,很多法轮功分子都使用MSN。为了捍卫伟大祖国安全的程序员们,目前我们来分析一下MSN账户密码的窃听,  #i...

通过Web方式修改域账户密码的ASP核心代码

From: http://www.aiezu.com/Article/Web_change_domain_Pass.aspx"VBSCRIPT" CODEPAGE="65001"%>  On Err...

忘记 ecshop 后台管理员 账户密码 的操作

方法①:(经本人试过 完全解决问题) 首先我们来教大家如何重置密码:使用Ecshop网店朋友都知道ecshop网店系统是基于PHP+MYSQL开发的,如果你把管理员的密码给忘啦,最直接的方法就是...

C# 操作域 用管理员登录修改选定账户密码

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.C...

账户密码管理利器KeePass Pro 2.19

  • 2016年04月13日 21:19
  • 1.94MB
  • 下载

宽带拨号账户密码获取器

  • 2016年03月23日 13:13
  • 55KB
  • 下载

MACMini MACPro iMAC OS X 如果我忘记了我的账户密码 我该怎么办?

来到了 mac os x lion 10.7 上. 忘记密码的朋友不会减少. 除了努力回忆和询问自己的老婆外还有其他办发不? 那是自然有的. 帐户密码很重要虽然有时候我们设置了帐户自动登陆但...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:个人对页面记住账户密码的cookie方法的一些尝试
举报原因:
原因补充:

(最多只允许输入30个字)