Javascript-简单的欢迎cookie
1 0<!DOCT0000YPE html> 2 3 <html lang="en" xmlns="http://www.w3.org/1999/xhtml"> 4 <head> 5 <meta charset="utf-8" /> 6 <title>小白学JavaScript</title> 7 </head> 8 <body onload="checkCookie()"> 9 10 <script> 11 //新建cookie(定义一个方法新建cookie) 12 function setCookie(cname,cvalue,eadays ) { //设置一个名字为cname,值为cvalue,过期天数为eadays的cookie 13 var d = new Date(); //定义一个日期对象 14 d.setTime(d.getTime() + (eadays * 24 * 60 * 60 * 1000)); //设置一个过期时间,getTime() 为获取当前时间 + (eadays天数*24小时*60分钟*60秒*1000毫米)这里是将其换算成毫秒,因为getTime()获取的时间都是毫秒为单位的 15 var expires = "expires=" + d.toGMTString(); //将获取到的时间转为字符串输出 16 document.cookie = cname + "=" + cvalue + ";" + expires; //输出cookie cookie名字:cookie值;cookie到期时间 17 }; 18 19 //读取cookie(定义一个方法读取cookie) 20 function getCookie(cname) { //读取名字为cname的cookie 21 var name = cname + "="; //定义name为cookie名字= 22 var ca = document.cookie.split(';'); //将cookie以分号;为界将其分割为数组,即为:[cookie名字:cookie值,cookie到期时间] 23 for (var i = 0; i < ca.length; i++) { 24 var c = ca[i].trim(); //删除第i个ca字符串首位的空格 25 if (c.indexOf(name) == 0) return c.substring(name.length, c.length); //如果name在c里首次出现的位置等于0,也就是处于第一个的时候,就返回c下标为(name.length, c.length)的字符 26 } return ""; //否则返回一个空 27 28 }; 29 30 //自动检测cookie(最后在这里来通过判断来调用决定何时如何调用以上两种方法) 31 function checkCookie() { 32 var user = getCookie("username"); //定义调用getCookie()这个方法,并为其赋值username 33 if (user != "") { //判断,如果这个方法不为空,也就是cookie不为空的时候 34 alert("Welcome again " + user); //弹出一个欢迎该用户的窗口 35 } else { 36 user = prompt("请输入您的名字:", ""); //否则就弹出一个提示用户输入名字的窗口 37 if (user != "" && user != null) { //判断如果getCookie()这个方法读取到值,不为空和null的时候 38 setCookie("username", user, 30); //就调用setCookie()这个方法新建一个名为username,值为user,过期天数为30天的cookie 39 }; 40 }; 41 }; 42 43 44 45 46 /* 方法解释 47 split()方法用于把一个字符串分割成字符串数组 48 var str = "How are you doing today?" 49 50 document.write(str.split(" ") + "<br />") //显示为:How,are,you,doing,today? 51 document.write(str.split("") + "<br />") //显示为:H,o,w, ,a,r,e, ,y,o,u, ,d,o,i,n,g, ,t,o,d,a,y,? 52 document.write(str.split(" ", 3)) //显示为:How,are,you 53 54 //trim()方法用于删除字符串首部和尾部的空格,但会保留字符串内部作为词与词之间分隔的空格 55 56 //indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置 57 58 //substring() 方法用于提取字符串中介于两个指定下标之间的字符 59 var str = "Hello world!" 60 61 document.write(str.substring(3, 7)) //显示为:lo w */ 62 63 </script> 64 65 66 </body> 67 </html>