热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

javascript学习笔记(七)利用javascript来创建和存储cookie_javascript技巧

今天把javascript如何用来创建及存储cookie复习了一下,其中的一点体会拿出来和大家讨论,恳请高手指点一二。
首先看一下基础知识:
1、什么是COOKIE
COOKIE 是存储于访问者的计算机中的变量。每当同一台计算机通过浏览器请求某个页面时,就会发送这个 COOKIE。你可以使用 Javascript 来创建和取回 COOKIE 的值
2、有关COOKIE的例子:
•名字 COOKIE 当访问者首次访问页面时,他或她也许会填写他/她们的名字。名字会存储于 COOKIE 中。当访问者再次访问网站时,他们会收到类似 "Welcome John Doe!" 的欢迎词。而名字则是从 COOKIE 中取回的。
•密码 COOKIE 当访问者首次访问页面时,他或她也许会填写他/她们的密码。密码也可被存储于 COOKIE 中。当他们再次访问网站时,密码就会从 COOKIE 中取回。
•日期 COOKIE 当访问者首次访问你的网站时,当前的日期可存储于 COOKIE 中。当他们再次访问网站时,他们会收到类似这样的一条消息:"Your last visit was on Tuesday August 11, 2005!"。日期也是从 COOKIE 中取回的。
下面来创建一个COOKIE的实例,如何来创建COOKIE及取出COOKIE
Javascript部分代码:

代码如下:


//创建COOKIE
function setCOOKIE(name, value, expireday) {
var exp = new Date();
exp.setTime(exp.getTime() + expireday*24*60*60*1000); //设置COOKIE的期限
document.COOKIE = name+"="+escape(value)+"; expires"+"="+exp.toGMTString();//创建COOKIE
}
//提取COOKIE中的值
function getCOOKIE(name) {
var COOKIEStr = document.COOKIE;
if(COOKIEStr.length > 0) {
var COOKIEArr = COOKIEStr.split(";"); //将COOKIE信息转换成数组
for (var i=0; ivar COOKIEVal = COOKIEArr[i].split("="); //将每一组COOKIE(COOKIE名和值)也转换成数组
if(COOKIEVal[0] == name) {
return unescape(COOKIEVal[1]); //返回需要提取的COOKIE值
}
}
}
}
//测试COOKIE
function checkCOOKIE() {
var COOKIEUser = document.getElementById("COOKIEUser");
var userName = getCOOKIE("userName");
if(userName) {
COOKIEUser.innerHTML = "您好"+userName+",欢迎再次回来!";
} else {
var value = prompt("请输入用户名", "");
if(value) {
setCOOKIE('userName', value, 1);
} else {
alert("请输入用户名!");
}
}
}


主要在于如何提取我们需要的COOKIE信息,在本例的getCOOKIE函数中主要是将COOKIE信息转化成数组的方式来查找我们需要提取的COOKIE值。还可以通过正则表达式的方式来匹配,如下:

代码如下:


function getCOOKIE(name) {
var COOKIEStr = document.COOKIE;
var COOKIEArr = COOKIEStr.match(new RegExp(name+"=[a-zA-Z0-9]*;$"));
var COOKIEVal = COOKIEArr.split("=");
if(COOKIEVal[0] == name) {
return unescape(COOKIEVal[1]);
}
}


比如在这个例子中,如果打开浏览器中没有存储名为userName的COOKIE,则会提示用户输入用户名,再次刷新页面时则会显示输入的COOKIE值。
最后我们可以测试一下代码:

代码如下:



推荐阅读
  • 前言对于从事技术的人员来说ajax是这好东西,都会使用,而且乐于使用。但对于新手,开发一个ajax实例,还有是难度的,必竟对于他们这是新东西。leo开发一个简单的ajax实例,用的是 ... [详细]
  • 本文介绍了在满足特定条件时如何在输入字段中使用默认值的方法和相应的代码。当输入字段填充100或更多的金额时,使用50作为默认值;当输入字段填充有-20或更多(负数)时,使用-10作为默认值。文章还提供了相关的JavaScript和Jquery代码,用于动态地根据条件使用默认值。 ... [详细]
  • 表单提交前的最后验证:通常在表单提交前,我们必须确认用户是否都把必须填选的做了,如果没有,就不能被提交到服务器,这里我们用到表单的formname.submit()看演示,其实这个对于我们修炼道 ... [详细]
  • Itwasworkingcorrectly,butyesterdayitstartedgiving401.IhavetriedwithGooglecontactsAPI ... [详细]
  • Iwouldliketobeabletohaveasidebarthatcanbetoggledinandoutonabuttonpress.However ... [详细]
  • 但有时候,需要当某事件触发时,我们先做一些操作,然后再跳转,这时,就要用JAVASCRIPT来实现这一跳转功能。下面是具体的做法:一:跳转到新页面,并且是在新窗口中打开时:复制代码代码如下:fu ... [详细]
  • 基于layUI的图片上传前预览功能的2种实现方式
    本文介绍了基于layUI的图片上传前预览功能的两种实现方式:一种是使用blob+FileReader,另一种是使用layUI自带的参数。通过选择文件后点击文件名,在页面中间弹窗内预览图片。其中,layUI自带的参数实现了图片预览功能。该功能依赖于layUI的上传模块,并使用了blob和FileReader来读取本地文件并获取图像的base64编码。点击文件名时会执行See()函数。摘要长度为169字。 ... [详细]
  • 电销机器人作为一种人工智能技术载体,可以帮助企业提升电销效率并节省人工成本。然而,电销机器人市场缺乏统一的市场准入标准,产品品质良莠不齐。创业者在代理或购买电销机器人时应注意谨防用录音冒充真人语音通话以及宣传技术与实际效果不符的情况。选择电销机器人时需要考察公司资质和产品品质,尤其要关注语音识别率。 ... [详细]
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • 如何去除Win7快捷方式的箭头
    本文介绍了如何去除Win7快捷方式的箭头的方法,通过生成一个透明的ico图标并将其命名为Empty.ico,将图标复制到windows目录下,并导入注册表,即可去除箭头。这样做可以改善默认快捷方式的外观,提升桌面整洁度。 ... [详细]
  • 本文介绍了使用AJAX的POST请求实现数据修改功能的方法。通过ajax-post技术,可以实现在输入某个id后,通过ajax技术调用post.jsp修改具有该id记录的姓名的值。文章还提到了AJAX的概念和作用,以及使用async参数和open()方法的注意事项。同时强调了不推荐使用async=false的情况,并解释了JavaScript等待服务器响应的机制。 ... [详细]
  • 本文讨论了Alink回归预测的不完善问题,指出目前主要针对Python做案例,对其他语言支持不足。同时介绍了pom.xml文件的基本结构和使用方法,以及Maven的相关知识。最后,对Alink回归预测的未来发展提出了期待。 ... [详细]
  • 本文介绍了九度OnlineJudge中的1002题目“Grading”的解决方法。该题目要求设计一个公平的评分过程,将每个考题分配给3个独立的专家,如果他们的评分不一致,则需要请一位裁判做出最终决定。文章详细描述了评分规则,并给出了解决该问题的程序。 ... [详细]
  • 禁止程序接收鼠标事件的工具_VNC Viewer for Mac(远程桌面工具)免费版
    VNCViewerforMac是一款运行在Mac平台上的远程桌面工具,vncviewermac版可以帮助您使用Mac的键盘和鼠标来控制远程计算机,操作简 ... [详细]
  • 原文地址:https:www.cnblogs.combaoyipSpringBoot_YML.html1.在springboot中,有两种配置文件,一种 ... [详细]
author-avatar
手机用户2502853373
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有