2010. 11. 14. 13:40

// LTRIM
String.prototype.ltrim = function()
{
 var re = /\s*((\S+\s*)*)/;
    return this.replace(re, "$1");
};


// RTRIM
String.prototype.rtrim = function()
{
 var re = /((\s*\S+)*)\s*/;
 return this.replace(re, "$1");
};


// TRIM
String.prototype.trim = function()
{
 return this.ltrim().rtrim();
};


//replaceALL
String.prototype.replaceAll = function(str1, str2)
{
 var temp = this;

 while(1){
  if( temp.indexOf(str1) != -1 )
   temp = temp.replace(str1, str2);
  else
  break;
 }
 return temp;
};


//플래시 파일 로드 함수
function loadFlash(objSrc, width, height, wmode) {
 var obj = '';
 obj += '<object type="application/x-shockwave-flash" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="
http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0" width="'+width+'" height="'+height+'">';
 obj += '<param name="movie" value="'+objSrc+'">';
 obj += '<param name="quality" value="high">';
 obj += '<param name="bgcolor" value="#000000">';
 obj += '<param name="wmode" value="'+wmode+'">';
 obj += '<param name="menu" value="false">';
 obj += '<param name="Command" value="Close">';
 obj += '<param name="swliveconnect" value="true">';
 obj += '<embed src="'+objSrc+'" quality=high bgcolor="#000000" width="'+width+'" height="'+height+'" swliveconnect="true" id="param" name="param" type="application/x-shockwave-flash" pluginspage="
http://www.macromedia.com/go/getflashplayer"><\/embed>';
 obj += '<\/object>';
 document.write(obj);
}


// 새창띄우기
function fncOpenPanel(strUrl, inrWidth, intHeight) {
 var newp = "width=" + inrWidth + ", height=" + intHeight + ", directories=no, scrollbars=no, resizable=yes";
 window.open(strUrl, "new", newp);
}


// 새창띄우기 스크롤
function fncOpenPanel_SC(strUrl, inrWidth, intHeight) {
 var newp = "width=" + inrWidth + ", height=" + intHeight + ", directories=no, scrollbars=yes, resizable=no";
 window.open(strUrl, "new", newp);
}


// 숫자만 입력
function onlyNumber() {

  if((event.keyCode<48)||(event.keyCode>57))
 {
  alert('숫자만 입력 가능합니다');
  event.returnValue=false;
 }
}


// 자릿수확인(최소글자수)
function fncMinCheck(strFrmName, strFieldName, strFieldNickName, intMin) {

 var strCheckObj = eval("document."+strFrmName+"."+strFieldName);

 if (strCheckObj.value.length<intMin) {
  alert(strFieldNickName+" 항목을 확인하세요.\n"+strFieldNickName+" 항목은 "+intMin+"글자 이상이어야 합니다.");
  strCheckObj.focus();
  return false;
 }
 else { return true; }

}


// 자릿수확인(최대글자수)
function fncMinMaxCheck(strFrmName, strFieldName, strFieldNickName, intMin, intMax) {

 var strCheckObj = eval("document."+strFrmName+"."+strFieldName);
 if (strCheckObj.value.length<intMin || strCheckObj.value.length>intMax) {
  alert(strFieldNickName+" 항목을 확인하세요.\n"+strFieldNickName+" 항목을 "+intMin+"글자 이상 "+intMax+"글자 이하이어야 합니다.");
  strCheckObj.focus();
  return false;
 }
 else { return true; }

}


// 공란체크
function fncNullCheck(strFrmName, strFieldName, strFieldNickName) {

 var strCheckObj = eval("document."+strFrmName+"."+strFieldName);
 if (strCheckObj.value.indexOf(" ")>0) {
  alert(strFieldNickName+" 항목을 확인하세요.\n"+strFieldNickName+" 항목에 공란은 허용되지 않습니다.");
  strCheckObj.focus();
  return false;
 }
 else { return true; }
}


// 숫자만 등록되도록 체크
function fncValidString09Check (strFrmName, strFieldName, strFieldNickName) {

    var ValidString="0123456789";
 var strCheckObj = eval("document."+strFrmName+"."+strFieldName);
 for (i=0; i<strCheckObj.value.length; i++) {
  if(ValidString.indexOf(strCheckObj.value.substring(i,i+1))<0) {
   alert(strFieldNickName+" 항목에 허용할 수 없는 문자가 입력되었습니다.\n"+strFieldNickName+" 항목은 숫자로만 등록하실 수 있습니다.");
   strCheckObj.focus();
    return false;
  }
    }
    return true;
}


// 숫자와 알파벳만 등록되도록 체크
function fncValidString09AZCheck (strFrmName, strFieldName, strFieldNickName) {

    var ValidString="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
 var strCheckObj = eval("document."+strFrmName+"."+strFieldName);
 
        for (i=0; i<strCheckObj.value.length; i++) {
                if(ValidString.indexOf(strCheckObj.value.substring(i,i+1))<0) {
                        alert(strFieldNickName+" 항목에 허용할 수 없는 문자가 입력되었습니다.\n"+strFieldNickName+" 항목은 영문자와 숫자로만 등록하실 수 있습니다.");
      strCheckObj.value="";
                        strCheckObj.focus();
                        return false;
                }
        }
        return true;
       
}


// 숫자와 알파벳 및 '-'만 등록되도록 체크
function fncValidString09AZDashCheck (strFrmName, strFieldName, strFieldNickName) {

    var ValidString="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-";
 var strCheckObj = eval("document."+strFrmName+"."+strFieldName);
 
        for (i=0; i<strCheckObj.value.length; i++) {
                if(ValidString.indexOf(strCheckObj.value.substring(i,i+1))<0) {
                        alert(strFieldNickName+" 항목에 허용할 수 없는 문자가 입력되었습니다.\n"+strFieldNickName+" 항목은 영문자와 숫자로만 등록하실 수 있습니다.");
      strCheckObj.value="";
                        strCheckObj.focus();
                        return false;
                }
        }
        return true;
       
}


function fncValidPasswordCheck (strFrmName, strFieldName, strFieldNickName) {
 return true;
}


// 숫자만입력되게처리
function checkNumberKey(str)
 {
  if (event.keyCode != 8)
  {
   if (event.keyCode < 45 || event.keyCode > 57 || ((event.keyCode > 32 && event.keyCode < 48) || (event.keyCode > 57 && event.keyCode < 65) || (event.keyCode > 90 && event.keyCode < 97)))
       event.returnValue = false;
  }
 }


// 이메일 유효체크
function fncValidEmailCheck(frm,fieldname)
{
 reg = new RegExp("^[\\w\\-]+(
\\.[\\w\\-_]+)*@[\\w\\-]+(\\.[\\w\\-]+)*(\\.[a-zA-Z]{2,3})$", "gi");
 var emailobj = eval("document"+"."+frm+"."+fieldname);
 if (!reg.test(emailobj.value))
 {
  alert("잘못된 형식의 이메일 주소입니다.\n다시 입력해주세요.");
  emailobj.focus();
  return false;
 }
 else
  return true;
}


// 다음객체로 포커스이동
function funcNextFocus(frm,str,length,nextstr){

 var strCheckObj=eval("document"+"."+frm+"."+str);
 var strNextObj =eval("document"+"."+frm+"."+nextstr);

 if(length==strCheckObj.value.length){
  strNextObj.focus();
 }
}


// 체크박스 값변경
function chkval(frm,str){
 var strCheckObj=eval("document"+"."+frm+"."+str);
 if(strCheckObj.value=='Y'){
  strCheckObj.value='N';
 }
 else{
  strCheckObj.value='Y';
 }
}


// check 한 개수를 리턴한다.
function getCheckedCount( aElem )
{
 var elem = document.all;
 var cnt = 0;

 for ( var i=0; i<document.all.length; i++ )
 {
  if ( ( elem[i].type == "checkbox" ) && ( elem[i].checked ) && ( elem[i].name == aElem ) )
   cnt = cnt + 1;
 }
 return cnt;
}


// 지정된 이름을 가진 모든 checkbox를 check한다
function checkAll( aElem )
{
 var elem = document.all;
 var cnt = 0;
   
 for ( var i=0; i<document.all.length; i++ ){
  if ( ( elem[i].type == "checkbox" ) && ( elem[i].name == aElem ) ) elem[i].checked = true;
 }
}


// 지정된 이름을 가진 모든 checkbox를 check 해제한다
function uncheckAll( aElem )
{
 var elem = document.all;
 var cnt = 0;
   
 for ( var i=0; i<document.all.length; i++ ){
  if ( ( elem[i].type == "checkbox" ) && ( elem[i].name == aElem ) ) elem[i].checked = false;
 }
}


// 지정한 이름을 가진 모든 checkbox의 checked 값을 반전 한다.
function invertCheck( aElem )
{
 var elem = document.all;
 var cnt = 0;

 for ( var i=0; i<document.all.length; i++ )
 {
  if ( ( elem[i].type == "checkbox" ) && ( elem[i].name == aElem ) )
  {
   if ( elem[i].checked )
   {
    elem[i].checked = false;
   }
   else
   {
    elem[i].checked = true;
   }
  }
 }


// Radio에서 check 한 개수를 리턴한다.
function getRadioCheckedCount( aElem )
{
 var elem = document.all;
 var cnt = 0;

 for ( var i=0; i<document.all.length; i++ )
 {
  if ( ( elem[i].type == "radio" ) && ( elem[i].checked ) && ( elem[i].name == aElem ) )
   cnt = cnt + 1;
 }
 return cnt;
}


//지정된 이름을 가진 radio 폼의 선택 값을 리턴하다.
function getCheckedValue(radioObj) {
 if(!radioObj)
  return "";
 var radioLength = radioObj.length;
 if(radioLength == undefined)
  if(radioObj.checked)
   return radioObj.value;
  else
   return "";
 for(var i = 0; i < radioLength; i++) {
  if(radioObj[i].checked) {
   return radioObj[i].value;
  }
 }
 return "";
}

/**
// get 방식의 파라미터를 해당폼에 input hidden 객체로 생성한다.
*/
function get2post(frm,sSearch)
{
 if (sSearch.length > 0)
 {
  var asKeyValues = sSearch.split('&');
  var asKeyValue  = '';

  for (var i = 0; i < asKeyValues.length; i++)
  {
   asKeyValue = asKeyValues[i].split('=');
   var e = document.createElement("input");
   e.setAttribute("type","hidden");
   e.setAttribute("name",asKeyValue[0]);
   e.setAttribute("value",asKeyValue[1]);
   e.setAttribute("_temp","true");
   //  alert("[" + e.name +"]:[" + e.value +"]");
   frm.appendChild(e);
  }
 }
 //  alert("form 객체 갯수" + frm.elements.length);


// get2post로 생성한 임시 객체를 파괴한다. 
function removeTempAttribute(frm)
{
 var idx=0;
 while (idx<frm.elements.length)
 {
  var obj = frm.elements[idx];

  if( obj.getAttribute("_temp") != null && obj.getAttribute("_temp") == "true")
  {
   frm.removeChild(obj);
   continue;
  }
  idx++;
 }
}


//--- 페이징에서 쓸 함수
function goPage(pageUrl,tmpParam,tmppage)
{
 var ttFrm = document.temporaryFrm;
 ttFrm.method = "post";
 ttFrm.action = pageUrl ;
 get2post(ttFrm,tmpParam+"&page="+tmppage);
 ttFrm.submit();
 removeTempAttribute(ttFrm);
}


//이미지 크기에 맞는 새창 띄우기
//<a href="#" onClick="popimage('img01.jpg',250,167);return false">이미지 팝업 1</a>
function popimage(imagesrc,winwidth,winheight,wintitle)
{
 var look='width='+winwidth+',height='+winheight+',' ;
 popwin=window.open("","",look);
 popwin.document.open();
 popwin.document.write('<title>'+wintitle+'</title><body topmargin=0 leftmargin=0><img style=cursor:hand; onclick="self.close()" src="'+imagesrc+'"></body>');
 popwin.document.close();
}


'Javascript' 카테고리의 다른 글

javascript 내부의 <!-- --> 또는 //<![CDATA[ -- //]]> 의 이해.  (1) 2015.02.06
event.keyCode 번호표  (0) 2010.11.14
유용한 스크립트  (0) 2010.11.14
정규식  (0) 2010.11.14
Ajax Request 이해  (0) 2010.11.14
Posted by TIMEC