JavaScript操作Cookie方法執行個體分析

來源:互聯網
上載者:User

JavaScript操作Cookie方法執行個體分析

   本文執行個體講述了JavaScript操作Cookie方法。分享給大家供大家參考。具體如下:

  ?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

// My methods for setting, reading and deleting cookies.

// I have methods to check for the existence of cookie names or values,

// to retrieve by name or value, and to create a formatted string of

// all the cookies.

// My site: andrew.dx.am

var SetCookie = function (name, value, expires, path, domain, secure) {

// The caller should Trim the name/value pair, if required.

// Sets the name/value pair (encoded); 'expires' is the no. of days.

var expires_date;

if (expires) {

expires_date = new Date();

expires_date.setDate(expires_date.getDate() + expires);

}

document.cookie = encodeURIComponent(name) + "=" +

encodeURIComponent(value) +

( ( expires ) ? ";expires=" + expires_date.toUTCString() : "" ) +

( ( path ) ? ";path=" + path : "" ) +

( ( domain ) ? ";domain=" + domain : "" ) +

( ( secure ) ? ";secure" : "" );

};

var DeleteCookie = function (name, path, domain) {

// The caller should Trim the name/value pair.

// Encodes the name before deleting.

document.cookie = encodeURIComponent(name) + "=" +

( ( path ) ? ";path=" + path : "") + ( ( domain ) ? ";domain=" +

domain : "" ) + ";expires=Fri, 01-Jan-2010 00:00:01 UTC";

};

var DelAllCookies = function () {

var currDate = new Date(), i, theCookie = document.cookie.split(";");

currDate = currDate.toUTCString();

i = theCookie.length;

while ( i-- ) {

document.cookie = theCookie[i] + "; expires =" + currDate;

}

};

var EscapeReg = function (str) {

// Helper fn: Escapes characters for use in a regular expression.

return str.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&");

};

// The following four functions do not Trim the name or value

// - the calling fns should do this.

var CNameExists = function (cookie_name) { // case-insensitive

var testName, myReg;

if (document.cookie.length == 0) return false;

testName = EscapeReg(cookie_name);

myReg = new RegExp('(^|;) ?' + testName + '=([^;]*)(;|$)','i');

return myReg.test(decodeURIComponent(document.cookie));

};

var CValueExists = function (cookie_value) { // case insensitive

var testName, myReg;

if (document.cookie.length == 0) return false;

testName = EscapeReg(cookie_value);

myReg = new RegExp('(=)' + testName + '(;|$)','i');

return myReg.test(decodeURIComponent(document.cookie));

};

var CNameGet = function (cookie_value) { // case-insensitive

var testName, myReg, results;

if (document.cookie.length == 0) return '';

testName = EscapeReg(cookie_value);

myReg = new RegExp('(^|;) ?([^=]*)=' + testName + '(;|$)','i');

results = decodeURIComponent(document.cookie).match(myReg);

return ( results ) ? results[2] : '';

};

var CValueGet = function (cookie_name) { // case-insensitive

var testName, myReg, results;

if (document.cookie.length == 0) return '';

testName = EscapeReg(cookie_name);

myReg = new RegExp('(^|;) ?' + testName + '=([^;]*)(;|$)','i');

results = decodeURIComponent(document.cookie).match(myReg);

return ( results ) ? results[2] : '';

};

var CookieStr = function () {

// Returns a string (with line breaks) which could be

// placed in, for example, a textarea.

return decodeURIComponent(document.cookie).

replace(/([^=;]+)=([^;]*)[;\s]*/g,'$1 ($2)\n') || '';

};

  希望本文所述對大家的javascript程式設計有所協助。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

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.