Jquery操作cookie记住用户名


Posted in Javascript onMarch 29, 2016

一、jquery.cookie.js介绍

jquery.cookie.js是一个基于jquery的插件,一个轻量级的cookie 插件,可以读取、写入、删除 cookie。

jquery.cookie.js可以从Github上面获得源码 https://github.com/carhartl/jquery-cookie

二、jquery.cookie.js的基本用法介绍

jQuery操作cookie的插件,大概的使用方法如下:

1. 读取Cookie值

$.cookie('the_cookie'); //如果存在则返回cookieValue,否则返回null。

2. 设置cookie的值

(1) 默认设置。当没有指明cookie时间时,所创建的cookie有效期默认到用户浏览器关闭止,故被称为会话cookie。

$.cookie('the_cookie', ‘the_value');

(2) 设置有时间的cookie。 当指明时间时,故称为持久cookie,并且有效时间为天。

$.cookie(‘cookieName','cookieValue', {expires:7});

(3) 设置有路径的cookie 。如果不设置有效路径,在默认情况下,只能在cookie设置当前页面读取该cookie,cookie的路径用于设置能够读取cookie的顶级目录。

$.cookie(‘cookieName','cookieValue', {expires:7, path:'/'});

(4)设置特定网站的cookie 。

$.cookie(‘cookieName','cookieValue',{expires:7, path:'/' , domain: ‘souvc.com' , secure: false , raw:false});

参数解释:

1).expires: 365

定义cookie的有效时间,值可以是一个数字(从创建cookie时算起,以天为单位)或一个Date 对象。如果省略,那么创建的cookie是会话cookie,将在用户退出浏览器时被删除。

//注:在默认情况下,只有设置 cookie的网页才能读取该 cookie。如果想让一个页面读取另一个页面设置的cookie,必须设置cookie的路径。cookie的路径用于设置能够读取 cookie的顶级目录。将这个路径设置为网站的根目录,可以让所有网页都能互相读取 cookie (一般不要这样设置,防止出现冲突) 。

expires: (Number | Date) 有效期,可以设置一个整数作为有效期(单位:天),也可以设置一个日期对象作为Cookie的过期日期。如果指定日期为负数,那么此cookie将被删除;如果不设置或者设置为null,那么此cookie将被当作Session Cookie处理,并且在浏览器关闭后删除。

var COOKIE_NAME = 'username';
if( $.cookie(COOKIE_NAME) ){
$("#username").val( $.cookie(COOKIE_NAME) );
}
$("#check").click(function(){
if(this.checked){
$.cookie(COOKIE_NAME, $("#username").val() , { path: '/', expires: 10 });
//var date = new Date();
//date.setTime(date.getTime() + (3 * 24 * 60 * 60 * 1000)); //三天后的这个时候过期
//$.cookie(COOKIE_NAME, $("#username").val(), { path: '/', expires: date });
}else{
$.cookie(COOKIE_NAME, null, { path: '/' }); //删除cookie
}
});

2).path: '/'

默认情况:只有设置cookie的网页才能读取该cookie。 定义cookie的有效路径。默认情况下, 该参数的值为创建 cookie 的网页所在路径(标准浏览器的行为) 。 如果你想在整个网站中访问这个cookie需要这样设置有效路径:path: '/'。

如果你想删除一个定义了有效路径的 cookie,你需要在调用函数时包含这个路径:$.cookie('the_cookie', null, { path: '/' });。 domain: 'example.com' 默认值:创建 cookie的网页所拥有的域名。

3). domain:创建cookie所在网页所拥有的域名;

4). secure:默认是false,如果为true,cookie的传输协议需为https;raw:默认为false,读取和写入时候自动进行编码和解码(使用encodeURIComponent编码,使用decodeURIComponent解码),关闭这个功能,请设置为true。

3. 删除cookie 。

$.cookie('the_cookie', null); //删除一个cookie

$.cookie(‘cookieName',null,{path:'/'}); //注:如果想删除一个带有效路径的cookie

三、使用方法

首先包含jQuery的库文件,在后面包含 jquery.cookie.js 的库文件。

<script type="text/javascript" src="js/jquery-1.6.2.min.js"></script> 
<script type="text/javascript" src="js/jquery.cookie.js"></script>

四、简要说明。

1. 页面效果

Jquery操作cookie记住用户名

2. jsp页面:

<input type="text" class="lr-input" placeholder="手机号码/用户名" style="width:255px" id="username" name="username" value=""/> <input type="password" class="lr-input" placeholder="请输入登录密码" style="width:255px" id="password" name="password" /> 
<div class="lr-formWrap fn-clear">
<p class="lr-remUser fn-left" id="remUserSelect"><i class="icon-check"></i>记住用户</p>
<a href="javascript:void(0)" id="login-submit" class="lr-submit">登录</a>

3. css样式:

.lr-remUser {
color: #9d9d9d;
cursor: pointer;
font-size: 14px;
line-height: 25px;
padding-left: 30px;
}

4. js实现

//按照状态读取是否显示昵称
if ($.cookie("rmbUser") == "true") {
$("#remUserSelect").addClass("active");//如果是选中,那么给上选中的标志
$("#username").val($.cookie("nickName"));//记录账号
} 
//验证记住帐号
function vailRememberNickName(){
if($("#remUserSelect").hasClass("active")){
var nickName = $("#username").val();
$.cookie("rmbUser", "true", { expires: 7 }); // 存储一个带7天期限的 cookie
$.cookie("nickName", nickName, { expires: 7 }); // 存储一个带7天期限的 cookie
}else {
$.cookie("rmbUser", "false", { expires: -1 });
$.cookie("nickName", '', { expires: -1 });
}
}

5. 然后在点击登录的时候进行调用这个方法。

//登录提交表单
$("#login-submit").on("click",function(){
var form = $("#loginForm");
if(!vailPhone())return;
if(!vailPwd())return;
vailRememberNickName();
form.submit();
});

6. 登录查看浏览器控制台效果如下:

Jquery操作cookie记住用户名

7. 退出登录的时候可以看到登录框的效果:

Jquery操作cookie记住用户名

以上内容是小编给大家介绍的Jquery操作cookie记住用户名的相关说明,希望对大家有所帮助!

Javascript 相关文章推荐
javascript实现的距离现在多长时间后的一个格式化的日期
Oct 29 Javascript
js预载入和JavaScript Image()对象使用介绍
Aug 28 Javascript
在JS中解析HTML字符串示例代码
Apr 16 Javascript
jQuery Ajax()方法使用指南
Nov 19 Javascript
js的flv视频播放器插件使用方法
Jun 23 Javascript
详解node.js平台下Express的session与cookie模块包的配置
Apr 26 Javascript
微信小程序 页面滑动事件的实例详解
Oct 12 Javascript
微信小程序使用二次贝塞尔曲线画波浪
Dec 25 Javascript
vue实现信息管理系统
May 30 Javascript
微信小程序实现选择地址省市区三级联动
Jun 21 Javascript
利用vue3+ts实现管理后台(增删改查)
Oct 30 Javascript
聊聊vue 中的v-on参数问题
Jan 29 Vue.js
jQuery简单实现提交数据出现loading进度条的方法
Mar 29 #Javascript
Javascript设计模式之观察者模式(推荐)
Mar 29 #Javascript
AngularJS directive返回对象属性详解
Mar 28 #Javascript
Boostrap模态窗口的学习小结
Mar 28 #Javascript
理解javascript模块化
Mar 28 #Javascript
谈一谈jQuery核心架构设计
Mar 28 #Javascript
javascript函数自动执行常用方法汇总
Mar 28 #Javascript
You might like
用Laravel Sms实现laravel短信验证码的发送的实现
2018/11/29 PHP
javascript 兼容FF的onmouseenter和onmouseleave的代码
2008/07/19 Javascript
javascript对数组的常用操作代码 数组方法总汇
2011/01/27 Javascript
js判断鼠标同时离开两个div的思路及代码
2013/05/31 Javascript
鼠标滚轴控制文本框值的JS代码
2013/11/19 Javascript
JavaScript—window对象使用示例
2013/12/09 Javascript
js获取select标签选中值的两种方式
2014/01/09 Javascript
json实现前后台的相互传值详解
2015/01/05 Javascript
js实现仿Windows风格选项卡和按钮效果实例
2015/05/13 Javascript
JQuery日期插件datepicker的使用方法
2016/03/03 Javascript
探寻JavaScript中this指针指向
2016/04/23 Javascript
微信小程序 绘图之饼图实现
2016/10/24 Javascript
jQuery选择器之子元素过滤选择器
2017/09/28 jQuery
原生JS实现 MUI导航栏透明渐变效果
2017/11/07 Javascript
jquery.pagination.js分页使用教程
2018/10/23 jQuery
解决微信小程序调用moveToLocation失效问题【超简单】
2019/04/12 Javascript
基于javascript处理二进制图片流过程详解
2020/06/08 Javascript
[02:38]DOTA2超级联赛专访Loda 认为IG世界最强
2013/05/27 DOTA
[52:00]2018DOTA2亚洲邀请赛 4.1 小组赛 A组加赛 LGD vs Optic
2018/04/02 DOTA
python进阶教程之异常处理
2014/08/30 Python
Python基于PycURL实现POST的方法
2015/07/25 Python
Python中的数据对象持久化存储模块pickle的使用示例
2016/03/03 Python
python 使用poster模块进行http方式的文件传输到服务器的方法
2019/01/15 Python
Python3利用Dlib实现摄像头实时人脸检测和平铺显示示例
2019/02/21 Python
python实现鸢尾花三种聚类算法(K-means,AGNES,DBScan)
2019/06/27 Python
对Python中画图时候的线类型详解
2019/07/07 Python
利用PyCharm操作Github(仓库新建、更新,代码回滚)
2019/12/18 Python
python3 requests库实现多图片爬取教程
2019/12/18 Python
Python使用循环神经网络解决文本分类问题的方法详解
2020/01/16 Python
de Bijenkorf比利时官网:荷兰最知名的百货商店
2017/06/29 全球购物
成教毕业生自我鉴定
2013/10/23 职场文书
求职信范文英文版
2014/01/05 职场文书
党风廉政建设个人总结
2015/03/06 职场文书
2015庆祝七一建党节94周年活动总结
2015/03/20 职场文书
公司老总年会致辞
2015/07/30 职场文书
关于CentOS 8 搭建MongoDB4.4分片集群的问题
2021/10/24 MongoDB