toISOString 은 UTC시간을 기준으로 반환하기 때문에 한국과 9시간이 차이가 난다.
 
해결방법은
  1. 한국의 offset을 수동으로 추가한 뒤 그 값을 빼주기
  2. moment.js 라이브러리 사용하기
라이브러리는 추가적으로 사용하고 싶지 않으니까 offset을 수동으로 추가하는 방법을 사용한다.
var date = new Date();
var offset = date.getTimezoneOffset() * 60000;
var dateOffset = new Date(date.getTime() - offset);
var base_date = dateOffset.toISOString().substring(0,20).replace(/-/g,'');
 
반응형
try ~ 오류가 catch가 안 된다.
 
var xReq = new XMLHttpRequest();
xReq.onreadystatechange = function() {
   console.log(xReq.readyState);
  console.log(xReq.status);
}
xReq.open("POST", "http://localhost:9999/test", true);
xReq.send(post);
 
서버 (http://localhost:9999/) 실행 중이지 않은 경우
xReq.send(post); 에서
net::ERR_CONNECTION_REFUSED 오류가 발생한다.
 
그래서, 오류 발생시 처리를 위해...
 
try {
        xReq.send(post);
} catch(err) {
        alert('오류가 발생하였습니다. ');
//
}
 
이런 식으로 try ~ catch ~ 해보았으나 catch 가 안된다.
 
이럴 땐, 아래 처럼 하면 오류시 처리를 할 수 있다.
 
xReq.onerror = function () {
     alert('오류가 발생하였습니다.');
      //
};
 
 
 
끝.
반응형
<script type="text/javascript">

if (navigator.userAgent.match(/iPhone|iPod|Android|Windows CE|BlackBerry|Symbian|Windows Phone|webOS|Opera Mini|Opera Mobi|POLARIS|IEMobile|lgtelecom|nokia|SonyEricsson/i) != null
|| navigator.userAgent.match(/LG|SAMSUNG|Samsung/) != null)
{
alert('모바일접속');
}

</script>
반응형
var nLayerWidth = 400;               
var nLayerHeight = 200;             

var nLeft = (document.body.scrollLeft + (document.body.clientWidth / 2)) - (nLayerWidth / 2);
var nTop = (document.body.scrollTop + (document.body.clientHeight / 2)) - (nLayerHeight / 2);

var layer = document.createElement('div');                 // div element 생성
layer.style.cssText = "position:absolute;left:" +  nLeft + "px;top:" + nTop + "px;width:" + nLayerWidth + "px;height:" + nLayerHeight  + "px;";                           // css 적용
document.body.appendChild(layer);                          // 생성한 div 표시


tip>
appendChild(layer) 의 반대는?
layer.parentNode.removeChild(layer);           // layer element 제거
반응형

//이미지 크기에 맞는 팝업창 띄우기
 var imgObj = new Image();
 function ShowImgWin(imgName)
 {
     imgObj.src = imgName;
     setTimeout("CreateImgWin(imgObj)", 100);
 }
 
 function CreateImgWin(imgObj)
{
    if (! imgObj.complete)
    {
         setTimeout("createImgWin(imgObj)", 100);
         return;
    }
  
    imageWin = window.open("", "imageWin", "width=" + imgObj.width + ",height=" + imgObj.height);
    imageWin.document.write("<html><center><body style='margin:0'>");
    imageWin.document.write("<table width='100%' height='100%' onclick='self.close();' style='cursor:pointer'>");
    imageWin.document.write("<tr><td width='100%' height='100%' align='center' valign='middle'>");
    imageWin.document.write("<img src='" + imgObj.src + "' border=0></td></tr></table>");
    imageWin.document.write("</body></center><html>");
    imageWin.document.title = imgObj.src;
}


실행예 > ShowImgWin("http://~/test.gif");

반응형


// 공백 제거
String.prototype.trim = function()
{
  return this.replace(/(^\s*)|(\s*$)/gi, "");
}

// 문자열내의 모든 str1을 str2로 바꾸기
String.prototype.replaceAll = function(str1, str2)
{
  var temp_str = "";

  if (this.trim() != "" && str1 != str2)
  {
    temp_str = this.trim();

    while (temp_str.indexOf(str1) > -1)
    {
      temp_str = temp_str.replace(str1, str2);
    }
  }

  return temp_str;
}


사용예 )
   var strValue = '123aa123';
   document.write(strValue.replaceAll( '123', 'a');
   
   // 결과 : aaaa

* String.prototype.replaceAll = function(str1, str2)  <-- 요 부분이 이해가 안가시는 분은
http://www.prototypejs.org/learn/class-inheritance <-- 요기 참조해보세요.
String 클래스에 replaceAll 이라는 함수를 추가한다... 뭐 이런거에요.

 

 

반응형

// 밀리초를 시간으로 표시 (hh:mi:ss)
function DisplayTime(nMSec)
{
     var nTotalSec = parseInt(nMSec / 1000); 

     var nTotalMin = parseInt(nTotalSec / 60); 
     var nHour = parseInt(nTotalMin / 60);
     var nMin = nTotalMin % 60;
     var nSec = nTotalSec % 60; 

     return ( (nHour < 10) ? "0" : "" ) + nHour + ":" + ( (nMin < 10) ? "0" : "" ) + nMin + ":" + ( (nSec < 10) ? "0" : "" ) + nSec;
}
반응형

function CheckValue(strValue)
{
       var strReg = /^[A-Za-z0-9]+$/; 

       if (!  strReg.test(strValue) )
       {
alert('영문과 숫자만 입력가능합니다.');
return;
       }
}
반응형

자바스크립트로 쿼리스트링 값 받아오기...흠.

function GetParameter(sName)
{

 var sUrl = location.href;
 var nStartPoint = sUrl.indexOf("?");
 var sQueryStr = sUrl.substring(nStartPoint + 1, sUrl.length);
 var arrName = new Array();
 var arrValue = new Array();
 var nNextStartPoint = 0;
 var sItem;
 var nValuePoint;
 
 while (sQueryStr.indexOf("&") > -1)
 {

  nNextStartPoint = sQueryStr.indexOf("&")
  sItem = sQueryStr.substring(0, nNextStartPoint);
  nValuePoint = sItem.indexOf("=");
  arrName[arrName.length] = sItem.substring(0, nValuePoint);
  arrValue[arrValue.length] = sItem.substring(nValuePoint+1, sItem.length);
  sQueryStr = sQueryStr.substring(nNextStartPoint+1, sQueryStr.length);

 }
 
 sItem = sQueryStr;
 nValuePoint = sItem.indexOf("=");
 arrName[arrName.length] = sItem.substring(0, nValuePoint);
 arrValue[arrValue.length] = sItem.substring(nValuePoint+1, sItem.length);
 
 var sValue = "";
 for(var cnt = 0; cnt < arrName.length; cnt++)
 {
       if (arrName[cnt] == sName)
      {
                sValue = arrValue[cnt];
      }
 
 }
 
 return sValue;

}

 예> ..../test.html?params=1234 

GetParameter("params");     // 결과 : 1234

반응형
function CheckNumber(num)
{
    if(isNaN(num)) { alert("숫자만 입력할 수 있습니다.");return ""}           
    return num
}

<input type="text" onKeyUp="this.value=CheckNumber(this.value)">
반응형

+ Recent posts