캠핑과 개발

<HTML>
<HEAD>
<TITLE>
자바 스크립트 쿠키 셋팅, 추출, 삭제 예제</TITLE>
<STYLE type = "text/css">
 table{ font-size:9pt; }
</STYLE>
<SCRIPT>
 /**
  * 쿠키값 추출
  * @param cookieName 쿠키명
  */

 function getCookie( cookieName )
 {
  var search = cookieName + "=";
  var cookie = document.cookie;

  // 현재 쿠키가 존재할 경우
  if( cookie.length > 0 )
  {
   // 해당 쿠키명이 존재하는지 검색한 후 존재하면 위치를 리턴.
   
startIndex = cookie.indexOf( cookieName );

   // 만약 존재한다면
   if( startIndex != -1 )
   {
    // 값을 얻어내기 위해 시작 인덱스 조절
   
startIndex += cookieName.length;

    // 값을 얻어내기 위해 종료 인덱스 추출
   
endIndex = cookie.indexOf( ";", startIndex );

    // 만약 종료 인덱스를 못찾게 되면 쿠키 전체길이로 설정
    if
( endIndex == -1) endIndex = cookie.length;

    // 쿠키값을 추출하여 리턴
    return unescape( cookie.substring( startIndex + 1, endIndex ) );
   }
   else
   {
    // 쿠키 내에 해당 쿠키가 존재하지 않을 경우
    return false;
   
}
  }
  else
  {
   // 쿠키 자체가 없을 경우
   return false;
  }
 }

 

 /**
  * 쿠키 설정
  * @param cookieName 쿠키명
  * @param cookieValue 쿠키값
  * @param expireDay 쿠키 유효날짜
  */
 function setCookie( cookieName, cookieValue, expireDate )
 {
  var today = new Date();
  today.setDate( today.getDate() + parseInt( expireDate ) );
  document.cookie = cookieName + "=" + escape( cookieValue ) + "; path=/; expires=" + today.toGMTString() + ";";
 }

 

 /**
  * 쿠키 삭제
  * @param cookieName 삭제할 쿠키명
  */
 function deleteCookie( cookieName )
 {
  var expireDate = new Date();
 
  //어제 날짜를 쿠키 소멸 날짜로 설정한다.
  expireDate.setDate( expireDate.getDate() - 1 );
  document.cookie = cookieName + "= " + "; expires=" + expireDate.toGMTString() + "; path=/";
 }

 

 /**
  * 자신이 지정한 값으로 쿠키 설정
  */
 function setMyCookie()
 {
  setCookie( form.setName.value, form.setValue.value, form.expire.value );
  viewCookie(); // 전체 쿠키 출력 갱신
 }

 

 /**
  * 자신이 지정한 쿠키명으로 확인
  */
 function getMyCookie()
 {
  alert( "쿠키 값 : " + getCookie( form.getName.value ) );
 }

 

 /**
  * 자신이 지정한 쿠키명으로 쿠키 삭제
  */
 function deleteMyCookie()
 {
  deleteCookie( form.deleteName.value );
  alert("쿠키가 삭제되었습니다.");
  viewCookie();
 }


 /**
  * 전체 쿠키 출력
  */
 function viewCookie()
 {
  if( document.cookie.length > 0 )
   cookieOut.innerText = document.cookie;
  else
   cookieOut.innerText = "저장된 쿠키가 없습니다.";
 }
</SCRIPT>
</HEAD>
<BODY
onLoad = "viewCookie()">
<FORM name = "form">
<TABLE cellpadding = "0" cellspacing = "0">
<TR>
 <TD bgcolor = "#666666">
  <TABLE cellpadding = "0" cellspacing = "1">
  <TR height = "25">
   <TD align = "center"><FONT color = "#ffffff">쿠키 설정</FONT></TD>
  </TR>
  <TR>
   <TD bgcolor = "#ffffff" align = "center">
    쿠키명 : <INPUT type = "text" name = "setName"><BR>
    쿠키값 : <INPUT type = "text" name = "setValue"><BR>
    기한 : <INPUT type = "text" name = "expire"><BR>
    <INPUT type = "button" onClick = "setMyCookie()" value = "쿠키설정">
   </TD>
  </TR>
  </TABLE>
 </TD>
</TR>
</TABLE>
<BR>
<TABLE cellpadding = "0" cellspacing = "0">
<TR>
 <TD bgcolor = "#666666">
  <TABLE cellpadding = "0" cellspacing = "1">
  <TR height = "25">
   <TD align = "center"><FONT color = "#ffffff">쿠키 확인</FONT></TD>
  </TR>
  <TR>
   <TD bgcolor = "#ffffff" align = "center">
    쿠키명 : <INPUT type = "text" name = "getName"><BR>
    <INPUT type = "button" onClick = "getMyCookie()" value = "쿠키확인">
   </TD>
  </TR>
  </TABLE>
 </TD>
</TR>
</TABLE>
<BR>
<TABLE cellpadding = "0" cellspacing = "0">
<TR>
 <TD bgcolor = "#666666">
  <TABLE cellpadding = "0" cellspacing = "1">
  <TR height = "25">
   <TD align = "center"><FONT color = "#ffffff">쿠키 삭제</FONT></TD>
  </TR>
  <TR>
   <TD bgcolor = "#ffffff" align = "center">
    쿠키명 : <INPUT type = "text" name = "deleteName"><BR>
    <INPUT type = "button" onClick = "deleteMyCookie()" value = "쿠키삭제">
   </TD>
  </TR>
  </TABLE>
 </TD>
</TR>
</TABLE>
<BR>
<TABLE cellpadding = "0" cellspacing = "0">
<TR>
 <TD bgcolor = "#666666">
  <TABLE cellpadding = "0" cellspacing = "1">
  <TR height = "25">
   <TD align = "center"><FONT color = "#ffffff">전체 쿠키</FONT></TD>
  </TR>
  <TR height = "25">
   <TD bgcolor = "#ffffff" align = "center">
    <DIV id = "cookieOut"></DIV>
   </TD>
  </TR>
  </TABLE>
 </TD>
</TR>
</TABLE>
</FORM>
</BODY>
</HTML>

'개발 > Javascript' 카테고리의 다른 글

[HTML 팁] HTML 소스 정렬 사이트  (0) 2008.12.27
[tip] 영문 alert 메세지  (0) 2008.09.25
javascript 디버거 툴  (0) 2008.08.18
클립보드 복사  (0) 2008.08.18
[javascript] dday 구하는 스크립트  (0) 2008.02.04