JS Read and write (delete) Cookie example detailed _javascript tips

Source: Internet
Author: User
Tags set cookie setcookie
Copy Code code as follows:

JS Operation Cookie Method!
Write cookies
function Setcookie (name,value)
{
var days = 30;
var exp = new Date ();
Exp.settime (Exp.gettime () + days*24*60*60*1000);
Document.cookie = name + "=" + Escape (value) + "expires=" + exp.togmtstring ();
}
Read cookies
function GetCookie (name)
{
var arr,reg=new RegExp ("(^|)" +name+ "= ([^;] *)(;|$)");
if (Arr=document.cookie.match (reg)) return unescape (arr[2]);
else return null;
}
Delete Cookies
function Delcookie (name)
{
var exp = new Date ();
Exp.settime (Exp.gettime ()-1);
var cval=getcookie (name);
if (cval!=null) document.cookie= name + "=" +cval+ "; expires=" +exp.togmtstring ();
}
Using the sample
Setcookie ("name", "Hayden");
Alert (GetCookie ("name"));
If you need to set custom expiration times
Then replace the above Setcookie function with the following two functions on OK;
Program code
function SetCookie2 (name,value,time) {
var strsec = getsec (time);
var exp = new Date ();
Exp.settime (Exp.gettime () + strsec*1);
Document.cookie = name + "=" + Escape (value) + "expires=" + exp.togmtstring ();
}
function Getsec (str) {
alert (str);
var str1=str.substring (1,str.length) *1;
var str2=str.substring (0,1);
if (str2== "s") {
return str1*1000;
}else if (str2== "H") {
return str1*60*60*1000;
}else if (str2== "D") {
return str1*24*60*60*1000;
}
}
This is an example of a usage that has a set expiration time:
S20 is representing 20 seconds.
H refers to the hour, such as 12 hours is: H12
D is the number of days, 30 days: D30
For the time being, I only wrote these three kinds of
SetCookie2 ("Name2", "Hayden2", "S20");
Alert (GetCookie ("name2"));

Here are a few of the more common handy functions:
Copy Code code as follows:

function Getcookieval (offset)
Get the value of the cookie after decoding
{
var endstr = document.cookie.indexOf (";", offset);
if (endstr = = 1)
Endstr = Document.cookie.length;
Return unescape (document.cookie.substring (offset, endstr));
}
function Setcookie (name, value)
Set cookie Value
{
var expdate = new Date ();
var argv = setcookie.arguments;
var argc = SetCookie.arguments.length;
var expires = (argc > 2)? ARGV[2]: null;
var path = (argc > 3)? ARGV[3]: null;
var domain = (argc > 4)? ARGV[4]: null;
var secure = (argc > 5)? ARGV[5]: false;
if (expires!=null) Expdate.settime (Expdate.gettime () + (expires * 1000));
Document.cookie = name + "=" + Escape (value) + ((expires = null)? "" : ("; Expires= "+ expdate.togmtstring ()))
+ ((path = null)? "" : ("; Path= "+ path") + ((domain = null)? "" : ("; domain= "+ domain)"
+ (Secure = = True)? "; Secure ":" ");
}
function Delcookie (name)
Delete Cookies
{
var exp = new Date ();
Exp.settime (Exp.gettime ()-1);
var cval = GetCookie (name);
Document.cookie = name + "=" + Cval + "; Expires= "+ exp.togmtstring ();
}
function GetCookie (name)
Get the original value of the cookie
{
var arg = name + "=";
var alen = Arg.length;
var clen = document.cookie.length;
var i = 0;
while (I < Clen)
{
var j = i + Alen;
if (Document.cookie.substring (i, j) = arg)
Return Getcookieval (j);
i = Document.cookie.indexOf ("", I) + 1;
if (i = = 0) break;
}
return null;
}
Test
Setcookie ("Sunshine", "1986");
Alert (GetCookie ("Sunshine"));

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.