cookie记录用户名
在说如何用cookie记录用户名之前,我们先来说说cookie的工作原理:
cookie : 存储数据,当用户访问了某个网站(网页)的时候,我们就可以通过cookie来像访问者电脑上存储数据 ;
1.不同的浏览器存放的cookie位置不一样,也是不能通用的 ;
2.cookie的存储是以域名形式进行区分的 ;
3.cookie的数据可以设置名字的;
4.一个域名下存放的cookie的个数是有限制的,不同的浏览器存放的个数不一样 ;
5.每个cookie存放的内容大小也是有限制的,不同的浏览器存放大小不一样 ;
6.我们通过document.cookie来获取当前网站下的cookie的时候,得到的字符串形式的值,他包含了当前网站下所有的cookie。他会把所有的cookie通过一个分号+空格的形式串联起来;
7.如果我们想长时间存放一个cookie。需要在设置这个cookie的时候同时给他设置一个过期的时间 ;
8.cookie默认是临时存储的,当浏览器关闭进程的时候自动销毁;
cookie的存储方式:
document.cookie = '名字=值';
document.cookie = 'username=win';
document.cookie = 'age=23';
document.cookie = '名称=值;expires=' + 字符串格式的时间;(给cookie设置过期时间)
var oDate = new Date(); (给cookie设置过期时间)
oDate.setDate( oDate.getDate() + 5 );(给cookie设置过期时间)
alert(typeof oDate.toGMTString()); (把日期对象转成字符串的形式)
document.cookie = 'username=win;expires=' + oDate.toGMTString();(给cookie设置成转换后的过期时间)
封装一个 读取Cookie方法的函数:
function getCookie(key) {
var arr1 = document.cookie.split('; '); (username=win; age=23,把数据从分号开始拆成一个个cookie)
for (var i=0; i<arr1.length; i++) { (循环cookie)
var arr2 = arr1[i].split('='); (username=win,,把数据从等号开始拆分)
if ( arr2[0] == key ) { (判断截取的cookie值是否和key值相等)
return decodeURI(arr2[1]);
}
}
}封装一个 设置Cookie的函数:
function setCookie(key, value, t) {
var oDate = new Date();
oDate.setDate( oDate.getDate() + t );
document.cookie = key + '=' + value + ';expires=' + oDate.toGMTString();
}封装一个删除Cookie的函数:
function removeCookie(key) {
setCookie(key, '', -1);
}传参运行测试:
setCookie('sex','男', 10););
removeCookie('username');
removeCookie('age');
removeCookie('sex');完整示例:
<script>
window.onload = function() {
var oUsername = document.getElementById('username');
var oLogin = document.getElementById('login');
var oDel = document.getElementById('del');
if ( getCookie('username') ) {
oUsername.value = getCookie('username');
}
oLogin.onclick = function() {
alert('登陆成功');
setCookie('username', oUsername.value, 5);
}
oDel.onclick = function() {
removeCookie('username');
oUsername.value = '';
}
}
function getCookie(key) {
var arr1 = document.cookie.split('; '); (username=win; age=23,把数据从分号开始拆成一个个cookie)
for (var i=0; i<arr1.length; i++) { (循环cookie)
var arr2 = arr1[i].split('='); (username=win,,把数据从等号开始拆分)
if ( arr2[0] == key ) { (判断截取的cookie值是否和key值相等)
return decodeURI(arr2[1]);
}
}
}
function setCookie(key, value, t) {
var oDate = new Date();
oDate.setDate( oDate.getDate() + t );
document.cookie = key + '=' + value + ';expires=' + oDate.toGMTString();
}
function removeCookie(key) {
setCookie(key, '', -1);
}
</script>
<body>
<input type="text" id="username" />
<input type="button" value="登陆" id="login" />
<input type="button" value="删除" id="del" />
</body>分享技术,分享快乐!
cookie记录用户名的更多相关文章
- cookie记录用户名和密码
getAttribute和getParameter的区别: request.getAttribute():是request时设置的变量的值,用request.setAttribute("na ...
- dom cookie记录用户名
<!doctype html> <html> <head> <meta charset="utf-8"> <title> ...
- 用cookie记住用户名
有时候,我们在做登陆框时会有个复选框选择请记住我,或者有时候会遇到一些弹出框说下次不再提醒,此功能我们可以用js中的cookie实现此功能 下面记录一下如何实现该功能: 利用cookie记录用户名 1 ...
- cookie记录浏览记录
cookie记录浏览记录 HashMap也是我们使用非常多的Collection,它是基于哈希表的 Map 接口的实现,以key-value的形式存在.在HashMap中,key-value总是会当做 ...
- cookie记录用户的浏览商品的路径
在电子商务的网站中,经常要记录用户的浏览路径,以判断用户到底对哪些商品感兴趣,或者哪些商品之间存在关联. 下面将使用cookie记录用户的浏览过的历史页面.该网站将每个页面的标题保存在该页面的$TIT ...
- cookie记录横向滚动条位置
一.Css <style type="text/css"> #x{ width: 100%; white-space: nowrap; overflow-x: scro ...
- 通过cookie记录,设置页面访问的跳转页
通过cookie记录,设置页面访问的跳转页 转载自:http://blog.csdn.net/yixiao_naihe/article/details/26679515. 目的: 1.访问fm.htm ...
- cookie记住用户名密码
<script src="js/jquery.cookie.js" type="text/javascript"></script> $ ...
- JS利用cookie记录当前位置实现刷新页面后还可以保持菜单栏的展开或闭合
代码如下,重点是JS部分的代码(部分样式引用的是Bootstrapt中的): <style> .sidebar-menu .special{ font-size: 16px; marg ...
随机推荐
- 基础编程-java之股神
买了一支股票,他知道从他买股票的那天开始,股票会有以下变化:第一天不变,以后涨一天,跌一天,涨两天,跌一天,涨三天,跌一天...依此类推. 为方便计算,假设每次涨和跌皆为1,股票初始单价也为1,请计算 ...
- 七牛整合PHP上传文件
七牛支持抓取远程图片 API,用 access_key + secret_key + url 生成 access_token, 把 access_token 加在 header 里,然后向 post ...
- github初体验
1.服务端 首先得有一个github账号 用户名和密码 2.客户端 github是服务端,要想在自己电脑上使用git我们还需要一个git客户端,我这里选用msysgit,这个只是提供了git的核心功能 ...
- 什么是Unicode letter
起因:从一段代码说起 using System; using System.Collections.Generic; using System.Linq; using System.Text; usi ...
- 我的Android第三章
先看效果图. 点击之后出变成 按钮内容改变了,并且弹出一个小提示 下面我们就来看看如何实现这个小案例 1)先打开string.xml文件,把要定义的字符串资源放置在里面 2)然后我们要画页面,基本An ...
- 大白的webservice
1.什么是web服务: web服务是一种可以用来解决跨网络应用集成问题的开发模式,这种模式为实现"软件即服务"提供了技术保障. 2.web服务的三个核心 (SOAP,WSDL,UD ...
- 传感器介绍之DHT11
一.DHT11介绍 DHT11 数字温湿度传感器,如图所示,是一款含有已校准数字信号输出的温湿度复合传感器.它应用专用的数字模块采集技术和温湿度传感技术,确保产品具有极高的可靠性与卓越的长期稳定性.传 ...
- Hibernate的关联映射
单向N-1关联 <many-to-one> 单向N-1关系,比如多个人对应同一个住址,只需要从人实体端找到对应的住址实体,无须关系某个地址的全部住户.程序在N的一端增加一个属性,该属性引用 ...
- JAVA 多线程学习总结
新手一枚,Java学习中,把自己学习多线程的知识总结一下,梳理下知识,方便日后查阅,高手莫进. 本文的主要内容: [1] 实现线程的两种方法 [2] 线程的启动与 ...
- jquery.Huploadify 上传
html <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3 ...