회원가입아이디/비번찾기
홈으로

[JS] 자바스크립트 모음
13년 전
// 캐릭터 타입 검증 'H'-한글, 'E'-영문, 'N'-숫자, 'Z'-기타
function getCharType(pValue){
var bHan = false;
var bAlp = false;
var bNum = false;
var bEtc = false;

var retStr="";

if(isEmpty(pValue)){
  return "";
}

for(var idx=0; idx < pValue.length; idx++){
  if (isAlpha(pValue[idx])) {
   bAlp = true;
  }
  else if (isNum(pValue[idx])) {
   bNum = true;
  }
  else if (isHangul(pValue[idx])) {
   bHan = true;
  }
  else {
   bEtc = true;
  }

  if (bHan) retStr = retStr + "H";
  if (bAlp) retStr = retStr + "E";
  if (bNum) retStr = retStr + "N";
  if (bEtc) retStr = retStr + "Z";
}

return retStr;
}

//새창 여는 함수
function uf_newWin( url, winName, sizeW, sizeH)
{
var nLeft  = screen.width/2 - sizeW/2 ;
var nTop  = screen.height/2 - sizeH/2 ;

opt =
",toolbar=no,menubar=no,Location=no,scrollbars=yes,status=no";
window.open(url, winName, "left=" + nLeft + ",top=" +  nTop +
",width=" + sizeW + ",height=" + sizeH
+ opt );

}


//새창 사이즈 정함
function uf_reSize ( sizeW, sizeH)
{
window.resizeTo!( sizeW, sizeH );

}

//옵션이 있는경우

function selDataChange(form) {
  var DataIndex=form.url.selectedIndex;
  if (form.url.options[DataIndex].value != null) {
       Location=form.url.options[DataIndex].value;
  }
}

function selDataChange2(form) {
  var DataIndex=form.url2.selectedIndex;
  if (form.url2.options[DataIndex].value != null) {
       Location=form.url2.options[DataIndex].value;
  }
}

/**
* 입력값이 NULL인지 체크
*/
function isNull(input) {
    if (input.value == null || input.value == "") {
        return true;
    }
    return false;
}

/**
* 입력값에 스페이스 이외의 의미있는 값이 있는지 체크
* ex) if (isEmpty(form.keyword)) {
*         alert!("검색조건을 입력하세요.");
*     }
*/
function isEmpty(input) {
    if (input.value == null || input.value.replace(/ /gi,"") ==
"") {
        return true;
    }
    return false;
}

/**
* 입력값에 특정 문자(chars)가 있는지 체크
* 특정 문자를 허용하지 않으려 할 때 사용
* ex) if (containsChars(form.name,"!,*&^%$#@~;")) {
*         alert!("이름 필드에는 특수 문자를 사용할 수
없습니다.");
*     }
*/
function containsChars(input,chars) {
    for (var inx = 0; inx < input.value.length; inx++) {
       if (chars.indexOf(input.value.charAt(inx)) != -1)
           return true;
    }
    return false;
}

/**
* 입력값이 특정 문자(chars)만으로 되어있는지 체크
* 특정 문자만 허용하려 할 때 사용
* ex) if (!containsCharsOnly(form.blood,"ABO")) {
*         alert!("혈액형 필드에는 A,B,O 문자만 사용할 수
있습니다.");
*     }
*/
function containsCharsOnly(input,chars) {
    for (var inx = 0; inx < input.value.length; inx++) {
       if (chars.indexOf(input.value.charAt(inx)) == -1)
           return false;
    }
    return true;
}
function isStartWith(input,chars) {
    for (var inx = 0; inx < chars.length; inx++) {
       if (chars.indexOf(input.value.charAt(0)) == -1)
           return false;
    }
    return true;
}
/**
* 입력값이 알파벳인지 체크
* 아래 isAlphabet() 부터 isNumComma()까지의 메소드가
* 자주 쓰이는 경우에는 var chars 변수를
* global 변수로 선언하고 사용하도록 한다.
* ex) var uppercase = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
*     var lowercase = "abcdefghijklmnopqrstuvwxyz";
*     var number    = "0123456789";
*     function isAlphaNum(input) {
*         var chars = uppercase + lowercase + number;
*         return containsCharsOnly(input,chars);
*     }
*/
function isAlphabet(input) {
    var chars =
"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz ";
    return containsCharsOnly(input,chars);
}

/**
* 입력값이 알파벳 대문자인지 체크
*/
function isUpperCase(input) {
    var chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ ";
    return containsCharsOnly(input,chars);
}

/**
* 입력값이 알파벳 소문자인지 체크
*/
function isLowerCase(input) {
    var chars = "abcdefghijklmnopqrstuvwxyz ";
    return containsCharsOnly(input,chars);
}

/**
* 입력값에 숫자만 있는지 체크
*/
function isNumber(input) {
    var chars = "0123456789";
    return containsCharsOnly(input,chars);
}

/**
* 입력값이 알파벳,숫자로 되어있는지 체크
*/
function isAlphaNum(input) {
    var chars =
"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789
";
    return containsCharsOnly(input,chars);
}

function isBigAlphaNum(input) {
    var chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 ";
    return containsCharsOnly(input,chars);
}
/**
* 입력값이 숫자,대시(-)로 되어있는지 체크
*/
function isNumDash(input) {
    var chars = "-0123456789";
    return containsCharsOnly(input,chars);
}

/**
* 입력값이 숫자,콤마(,)로 되어있는지 체크
*/
function isNumComma(input) {
    var chars = ",0123456789";
    return containsCharsOnly(input,chars);
}

/**
* 입력값이 사용자가 정의한 포맷 형식인지 체크
* 자세한 format 형식은 자바스크립트의 'regular expression!'을
참조
*/
function isValidFormat(input,format) {
    if (input.value.search(format) != -1) {
        return true; //올바른 포맷 형식
    }
    return false;
}

/**
* 입력값이 이메일 형식인지 체크
* ex) if (!isValidEmail(form.email)) {
*         alert!("올바른 이메일 주소가 아닙니다.");
*     }
*/
function isValidEmail(input) {
//    var format = /^(\S+)@(\S+)\.([A-Za-z]+)$/;
    var format = /^((\w|[\-\.])+)@((\w|[\-\.])+)\.([A-Za-z]+)$/;
    return isValidFormat(input,format);
}

/**
* 입력값이 전화번호 형식(숫자-숫자-숫자)인지 체크
*/
function isValidPhone(input) {
    var format = /^(\d+)-(\d+)-(\d+)$/;
    return isValidFormat(input,format);
}

/**
* 입력값의 바이트 길이를 리턴
* ex) if (getByteLength(form.title) > 100) {
*         alert!("제목은 한글 50자(영문 100자) 이상 입력할 수
없습니다.");
*     }
*/
function getByteLength(input) {
    var byteLength = 0;
    for (var inx = 0; inx < input.value.length; inx++) {
        var oneChar = escape(input.value.charAt(inx));
        if ( oneChar.length == 1 ) {
            byteLength ++;
        } else if (oneChar.indexOf("%u") != -1) {
            byteLength += 2;
        } else if (oneChar.indexOf("%") != -1) {
            byteLength += oneChar.length/3;
        }
    }
    return byteLength;
}

/**
* 입력값에서 콤마를 없앤다.
*/
function removeComma(input) {
    return input.value.replace(/,/gi,"");
}

/**
* 선택된 라디오버튼이 있는지 체크
*/
function hasCheckedRadio(input) {
    if (input.length > 1) {
        for (var inx = 0; inx < input.length; inx++) {
            if (input[inx].checked) return true;
        }
    } else {
        if (input.checked) return true;
    }
    return false;
}

/**
* 선택된 체크박스가 있는지 체크
*/
function hasCheckedBox(input) {
    return hasCheckedRadio(input);
}


/**
* 선택된 체크박스가  몇개인지  그 개수를 반환
*/
function hasMultiCheckedRadio(input) {
var kkkk = 0;
    if (input.length > 1) {
        for (var inx = 0; inx < input.length; inx++) {
            if (input[inx].checked) {
   kkkk++;
   }
        }
    } else {
   if (input.checked) kkkk=1;
}
    return kkkk;
}

/**
* 유효한(존재하는) 월(月)인지 체크
*/
function isValidMonth(mm) {
    var m = parseInt(mm,10);
    return (m >= 1 && m <= 12);
}

/**
* 유효한(존재하는) 일(日)인지 체크
*/
function isValidDay(yyyy, mm, dd) {
    var m = parseInt(mm,10) - 1;
    var d = parseInt(dd,10);

    var end = new Array(31,28,31,30,31,30,31,31,30,31,30,31);
    if ((yyyy % 4 == 0 && yyyy % 100 != 0) || yyyy % 400 == 0) {
        end[1] = 29;
    }

    return (d >= 1 && d <= end[m]);
}

/**
* 유효한(존재하는) 시(時)인지 체크
*/
function isValidHour(hh) {
    var h = parseInt(hh,10);
    return (h >= 1 && h <= 24);
}

/**
* 유효한(존재하는) 분(分)인지 체크
*/
function isValidMin(mi) {
    var m = parseInt(mi,10);
    return (m >= 1 && m <= 60);
}

/**
* Time 형식인지 체크(느슨한 체크)
*/
function isValidTimeFormat(time) {
    return (!isNaN(time) && time.length == 12);
}

/**
* 유효하는(존재하는) Time 인지 체크
* ex) var time = form.time.value; //'200102310000'
*     if (!isValidTime(time)) {
*         alert!("올바른 날짜가 아닙니다.");
*     }
*/
function isValidTime(time) {
    var year  = time.substring(0,4);
    var month = time.substring(4,6);
    var day   = time.substring(6,8);
    var hour  = time.substring(8,10);
    var min   = time.substring(10,12);

    if (parseInt(year,10) >= 1900  && isValidMonth(month) &&
        isValidDay(year,month,day) && isValidHour(hour)   &&
        isValidMin(min)) {
        return true;
    }
    return false;
}

/**
* Time 스트링을 자바스크립트 Date 객체로 변환
* parameter time: Time 형식의 String
*/
function toTimeObject(time) { //parseTime(time)
    var year  = time.substr(0,4);
    var month = time.substr(4,2) - 1; // 1월=0,12월=11
    var day   = time.substr(6,2);
    var hour  = time.substr(8,2);
    var min   = time.substr(10,2);

    return new Date(year,month,day,hour,min);
}

/**
* 자바스크립트 Date 객체를 Time 스트링으로 변환
* parameter date: JavaScript Date Object
*/
function toTimeString(date) { //formatTime(date)
    var year  = date.getFullYear();
    var month = date.getMonth() + 1; // 1월=0,12월=11이므로 1
더함
    var day   = date.getDate();
    var hour  = date.getHours();
    var min   = date.getMinutes();

    if (("" + month).length == 1) { month = "0" + month; }
    if (("" + day).length   == 1) { day   = "0" + day;   }
    if (("" + hour).length  == 1) { hour  = "0" + hour;  }
    if (("" + min).length   == 1) { min   = "0" + min;   }

    return ("" + year + month + day + hour + min)
}

/**
* Time이 현재시각 이후(미래)인지 체크
*/
function isFutureTime(time) {
    return (toTimeObject(time) > new Date());
}

/**
* Time이 현재시각 이전(과거)인지 체크
*/
function isPastTime(time) {
    return (toTimeObject(time) < new Date());
}

/**
* 주어진 Time 과 y년 m월 d일 h시 차이나는 Time을 리턴
* ex) var time = form.time.value; //'20000101000'
*     alert!(shiftTime(time,0,0,-100,0));
*     => 2000/01/01 00:00 으로부터 100일 전 Time
*/
function shiftTime(time,y,m,d,h) { //moveTime(time,y,m,d,h)
    var date = toTimeObject(time);

    date.setFullYear(date.getFullYear() + y); //y년을 더함
    date.setMonth(date.getMonth() + m);       //m월을 더함
    date.setDate(date.getDate() + d);         //d일을 더함
    date.setHours(date.getHours() + h);       //h시를 더함

    return toTimeString(date);
}

/**
* 두 Time이 몇 개월 차이나는지 구함
* time1이 time2보다 크면(미래면) minus(-)
*/
function getMonthInterval(time1,time2) {
//measureMonthInterval(time1,time2)
    var date1 = toTimeObject(time1);
    var date2 = toTimeObject(time2);

    var years  = date2.getFullYear() - date1.getFullYear();
    var months = date2.getMonth() - date1.getMonth();
    var days   = date2.getDate() - date1.getDate();

    return (years * 12 + months + (days >= 0 ? 0 : -1) );
}

/**
* 두 Time이 며칠 차이나는지 구함
* time1이 time2보다 크면(미래면) minus(-)
*/
function getDayInterval(time1,time2) {
    var date1 = toTimeObject(time1);
    var date2 = toTimeObject(time2);
    var day   = 1000 * 3600 * 24; //24시간

    return parseInt((date2 - date1) / day, 10);
}

/**
* 두 Time이 몇 시간 차이나는지 구함
* time1이 time2보다 크면(미래면) minus(-)
*/
function getHourInterval(time1,time2) {
    var date1 = toTimeObject(time1);
    var date2 = toTimeObject(time2);
    var hour  = 1000 * 3600; //1시간

    return parseInt((date2 - date1) / hour, 10);
}

/**
* 현재 시각을 Time 형식으로 리턴
*/
function getCurrentTime() {
    return toTimeString(new Date());
}

/**
* 현재 시각과 y년 m월 d일 h시 차이나는 Time을 리턴
*/
function getRelativeTime(y,m,d,h) {

    return shiftTime(getCurrentTime(),y,m,d,h);
}

/**
* 현재 年을 YYYY형식으로 리턴
*/
function getYear() {

    return getCurrentTime().substr(0,4);
}

/**
* 현재 月을 MM형식으로 리턴
*/
function getMonth() {

    return getCurrentTime().substr(4,2);
}

/**
* 현재 日을 DD형식으로 리턴
*/
function getDay() {

    return getCurrentTime().substr(6,2);
}

/**
* 현재 時를 HH형식으로 리턴
*/
function getHour() {

    return getCurrentTime().substr(8,2);
}

/**
* 오늘이 무슨 요일이야?
* ex) alert!('오늘은 ' + getDayOfWeek() + '요일입니다.');
*/
function getDayOfWeek() {
    var now = new Date();

    var day = now.getDay(); //일요일=0,월요일=1,...,토요일=6
    var week = new Array('일','월','화','수','목','금','토');

    return week[day];
}


/**
* 특정날짜의 요일을 구한다.
*/
function getDayOfWeek(time) {
    var now = toTimeObject(time);

    var day = now.getDay(); //일요일=0,월요일=1,...,토요일=6
    var week = new Array('일','월','화','수','목','금','토');

    return week[day];
}



/**
*   문자열의 오른쪽 끝에서 부터 지정된 개수만큼의 문자들을
리턴한다.
*/

function substrInverse(str, num)
{
var len;

len = str.length;

return str.substr(len - num, num);
}

/**
*  문자열로의 특정위치로부터 지정된 개수의 문자들을 리턴한다.
*/
function substrMid(str, idx, num)
{
return str.substr( idx-1, num);
}


/**
* Cookie설정하기
*/

function setCookie(name, value, expire) {
          document.cookie! = name + "=" + escape(value)
          + ( (expire) ? "; expires=" + expire.toGMTString() :
"")
}

/**
* Cookie 구하기
*/


function getCookie(uName) {

var flag = document.cookie!.indexOf(uName+'=');
if (flag != -1) {
  flag += uName.length + 1
  end = document.cookie!.indexOf(';', flag)

  if (end == -1) end = document.cookie!.length
  return UNESCAPE(document.cookie!.substring(flag, end))
}
}

    function Half2Full(HalfVal)
{
         var arg;
         arg = myHalf2Full(HalfVal);
  return arg;
}

function myHalf2Full(HalfVal)
{
   var FullChar = [
                " ", "!",""","#","$","%","&","'","(",    
//33~
         ")","*","+",",","-",".","/","0","1","2",    
//41~
         "3","4","5","6","7","8","9",":",";","<",    
//51~
         "=",">","?","@","A","B","C","D","E","F",    
//61~
         "G","H","I","J","K","L","M","N","O","P",    
//71~
         "Q","R","S","T","U","V","W","X","Y","Z",    
//81~
         "[","₩","]","^","_","`","A","B","C","D",    
//91~
         "E","F","G","H","I","J","K","L","M","N",    
//101~
         "O","P","Q","R","S","T","U","V","W","X",    
//111~
         "Y","Z","{","|","}","~"                        
//121~
         ];
  var stFinal = "";
         var ascii;
         for( i = 0; i < HalfVal.length; i++)
         {
                 ascii = HalfVal.charCodeAt(i);
                 if( (31 < ascii && ascii < 128))
                 {
                   stFinal += FullChar[ascii-32];
                 }
                 else
                 {
                   stFinal += HalfVal.charAt(i);
                 }
         }
         return stFinal;
}
function frmMoney(input){
input.value = putComma(input);
}
function unFrmMoney(input){
input.value = replace(input.value,",","");
}
function frmDate(input){
if(input.value=="") return
input.value = input.value.substring(0,4) + "-" +
input.value.substring(4,6) + "-" + input.value.substring
(6,8);
}
function unFrmDate(input){
input.value = replace(input.value,"-","");
}
function frmTime(input){
input.value = input.value.substring(0,2) + ":" +
input.value.substring(2,4) + ":" + input.value.substring
(4,6);
}
function unFrmTime(input){
input.value = replace(input.value,":","");
}
function frmAcct(input){
input.value = input.value.substring(0,3) + "-" +
input.value.substring(3,9) + "-" + input.value.substring
(9,14);
}
function unFrmAcct(input){
input.value = replace(input.value,"-","");
}

function setSelect(input,str) {
for(i=0;i<input.options.length;i++){
  if(input.options[i].value == str)
   input.options[i].selected=true;
}
}
// 외환에서 특정 통화일때 소수점이하 금액없애기
function Curr(str1, str2){
obj1 = eval!("frm."+str1+".value")
obj2 = eval!("frm."+str2+".style")
if(obj1=="JPY"||obj1=="ITL"||obj1=="BEF"||obj1=="KRW"){
  obj2.display = "none"
}else{
  obj2.display = ""
}
}
function Curr2(str1, str2, str3){
obj1 = eval!("frm."+str1+".value")
obj2 = eval!("frm."+str2+".style")
obj3 = eval!("frm."+str3+".style")
if(obj1=="JPY"||obj1=="ITL"||obj1=="BEF"||obj1=="KRW"){
  obj2.display = "none"
  obj3.display = "none"
}else{
  obj2.display = ""
  obj3.display = ""
}
}

  
////////////////////////////////////////////////////////////////
   // 데이터 전송형태 관련
  
////////////////////////////////////////////////////////////////
  
    // 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++;
     }
    }  
  
  

  
////////////////////////////////////////////////////////////////
   // checkbox 관련
  
////////////////////////////////////////////////////////////////
  
    // 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의 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;
       }
      }
     }
    }  
  

  


  


  
       ////////////////////////////////
   // UTIL 함수
   ////////////////////////////////
  
    var isDivEvent = false;
  
    function hideOneNav(){
     if (!isDivEvent) {
      window.account.style.visibility='hidden';
     }
     else{
      isDivEvent = false;
     }
    }
  
  
    function showOneNav(obj){
     isDivEvent = true;
     window.account.style.left = getLeftPos(obj);
     window.account.style.top = getTopPos(obj) + obj.offsetHeight
- 8;
     window.account.style.visibility='visible';
     return false;
    }
  
    function getLeftPos(obj){
     var parentObj = null;
     var clientObj = obj;
     var left = obj.offsetLeft + document.body.clientLeft;
    
     while((parentObj=clientObj.offsetParent) != null){
      left = left + parentObj.offsetLeft;
      clientObj = parentObj;
     }
    
     return left;
    }
  
    function getTopPos(obj){
     var parentObj = null;
     var clientObj = obj;
     var top = obj.offsetTop + document.body.clientTop;
    
     while((parentObj=clientObj.offsetParent) != null){
      top = top + parentObj.offsetTop;
      clientObj = parentObj;
     }
    
     return top;
    }

    /**
    *  문자열에 있는 특정문자패턴을 다른 문자패턴으로 바꾸는
함수.
    */
  
    function replace(targetStr, searchStr, replaceStr)
    {
     var len, i, tmpstr;
  
     len = targetStr.length;
     tmpstr = "";
  
     for ( i = 0 ; i < len ; i++ ) {
      if ( targetStr.charAt(i) != searchStr ) {
       tmpstr = tmpstr + targetStr.charAt(i);
      }
      else {
       tmpstr = tmpstr + replaceStr;
      }
     }
     return tmpstr;
    }
  
    /**
    *  문자열에서 좌우 공백제거
    */
  
    function trim(str)
    {
     return replace(str," ","");
    }

    /**
    * 콤마설정.
    */
  
    function putComma(input) {
     var num = input;
    
     if (num < 0) {
      num *= -1;
      var minus = true
     }else{
      var minus = false
     }
    
     var dotPos = (num+"").split(".")
     var dotU = dotPos[0]
     var dotD = dotPos[1]
     var commaFlag = dotU.length%3
  
     if(commaFlag) {
      var out = dotU.substring(0, commaFlag)
      if (dotU.length > 3) out += ","
     }
     else var out = ""
  
     for (var i=commaFlag; i < dotU.length; i+=3) {
      out += dotU.substring(i, i+3)
      if( i < dotU.length-3) out += ","
     }
  
     if(minus) out = "-" + out
     if(dotD) return out + "." + dotD
     else return out
    }

  
    //월의 끝 일자 얻기
    function getEndDate(datestr){
    
     //널인지?
     if(isEmpty(datestr)){
      return null;
     }
    
     //숫자인지?
     if(!isNum(datestr)){
      return null;
     }
    
     //길이가 8자리?
     if(datestr.length != 6){
      return null;
     }
    
     var yy = Number(datestr.substring(0,4));
     var mm = Number(datestr.substring(4,6));
    
     //윤년 검증
     var boundDay = "";
  
     if(mm != 2){
      var mon=new Array(31,28,31,30,31,30,31,31,30,31,30,31);
      boundDay = mon[mm-1];
     }
     else{
      if (yy%4 == 0 && yy%100 != 0 || yy%400 == 0){
       boundDay = 29;
      }
      else{
       boundDay = 28;
      }
     }
    
     return boundDay;
    }
  
    // Left 빈자리 만큼 padStr 을 붙인다.
    function lpad(src, len, padStr){
     var retStr = "";
     var padCnt = Number(len) - String(src).length;
     for(var i=0;i<padCnt;i++) retStr += String(padStr);
     return retStr+src;
    }
  
    // Right 빈자리 만큼 padStr 을 붙인다.
    function rpad(src, len, padStr){
     var retStr = "";
     var padCnt = Number(len) - String(src).length;
     for(var i=0;i<padCnt;i++) retStr += String(padStr);
     return src+retStr;
    }
  
  
    // 전화번호 국번검증
    function isValidDDDPhoneNum(dddphonenum)
    {
  
     // 널인가?
     if (isEmpty(dddphonenum)) {
      return null;
     }
    
      
     if ( dddphonenum != "02" && dddphonenum != "031" &&
dddphonenum != "032" && dddphonenum !
= "033" && dddphonenum != "041" &&
          dddphonenum != "042" && dddphonenum != "043" &&
dddphonenum != "051" && dddphonenum !
= "052" && dddphonenum != "053" &&
          dddphonenum != "054" && dddphonenum != "055" &&
dddphonenum != "061" && dddphonenum !
= "062" && dddphonenum != "063" &&
          dddphonenum != "064" && dddphonenum != "011" &&
dddphonenum != "016" && dddphonenum !
= "017" && dddphonenum != "018" && dddphonenum != "019" )
     {
    
      ERR_MSG = "잘못된 전화번호 국번입니다.";
      return false;
     }
    
     return true;
    
    }
  
  
    // 대문자변환
    function toUpperCase(str){
    
     if(isEmpty(str)) return str;
     return str.toUpperCase();
    }
  
  
    // 숫자검증
    function isNum(str){
    
     if(isEmpty(str)) return false;
    
     for(var idx=0;idx < str.length;idx++){
      if(str.charAt(idx) < '0' || str.charAt(idx) > '9'){
       return false;
      }
     }
     return true;
    }
  
  
    // 영문자검증
    function isAlpha(str){
    
     if(isEmpty(str)) return false;
    
     for(var idx=0;idx < str.length;idx++){
      if(!((str.charAt(idx) >='a' && str <= 'z') ||
(str.charAt(idx) >= 'A' && str <= 'Z'))){
       return false;
      }
     }
     return true;
    }
  
  
    // 한글검증
    function isHangul(str){
    
     if(isEmpty(str)) return false;
    
     for(var idx=0;idx < str.length;idx++){
          var c = escape(str.charAt(idx));
          if ( c.indexOf("%u") == -1 ) {
       return false;
      }
     }
     return true;
    }
  
  
    // 실제길이 반환( 한글 2byte 계산 )
    function getByteLength(s){
    
       var len = 0;
       if ( s == null ) return 0;
       for(var i=0;i<s.length;i++){
          var c = escape(s.charAt(i));
          if ( c.length == 1 ) len ++;
          else if ( c.indexOf("%u") != -1 ) len += 2;
          else if ( c.indexOf("%") != -1 ) len += c.length/3;
       }
       return len;
    }
  
  
    // 빈값인지 리턴한다.
    function isEmpty(pValue){
    
     if( (pValue == "") || (pValue == null) ){
      return true;
     }
     return false;
    }
  
  

  
    //검색날짜 유효기간
    function getBoundDate1(yy,mm,dd,stdDate)
    {
     var today = new Date();
     today.setYear(stdDate.substring(0,4));
     today.setMonth(stdDate.substring(4,6)-1);
     today.setDate(stdDate.substring(6,8));
     today.setHours(today.getHours());
     today.setMinutes(today.getMinutes());
     today.setSeconds(today.getSeconds());
    
     yy = Number(yy);
     mm = Number(mm);
     dd = Number(dd);
    
     var date = new Date();
    
     var DAY = 24 * 60 * 60 * 1000;
    
     if ( yy != 0 ){
      date.setTime(today.getTime() + DAY * 365 * yy);
     }
  
     if ( mm != 0 ){
      date.setTime(today.getTime() + DAY * 30 * mm);
     }
    
     if ( dd != 0 ){
      date.setTime(today.getTime() + DAY * dd);
     }
    
     return lpad(new String(date.getYear()),4,'0') + lpad(new
String(date.getMonth() + 1),2,'0') + lpad
(new String(date.getDate()),2,'0');  
    }  



    function getBoundDate(yy, mm, dd) {
     yy = Number(yy);
     mm = Number(mm);
     dd = Number(dd);
    
     var date = new Date();
    
     var DAY = 24 * 60 * 60 * 1000;

    
     if ( yy != 0 ){
      date.setTime(datToday.getTime() + DAY * 365 * yy);
     }
  
     if ( mm != 0 ){
      date.setTime(datToday.getTime() + DAY * 30 * mm);
     }
    
     if ( dd != 0 ){
      date.setTime(datToday.getTime() + DAY * dd);
     }
    
     return lpad(new String(date.getYear()),4,'0') + lpad(new
String(date.getMonth() + 1),2,'0') + lpad
(new String(date.getDate()),2,'0');
    }  
    
  
    //검색날짜 체크
    function isVaildTerm(obj,yy,mm,dd)
    {
     var datestr = obj.value;
    
    
     //널인지?
     if(isEmpty(datestr)){
      return null;
     }
    
     // 날짜 포맷제거
     obj_removeformat(obj);
    
     //8자리인지?
     if (getByteLength(datestr) != 8) {
      alert!("날짜는 '-'를 제외한 8자리 숫자로 입력하십시오.");
      return false;
    
     }
  
    
    
     // yy,mm,dd,fromto가 없을 경우
     if (yy == null) yy = 0;
     if (mm == null) mm = 0;
     if (dd == null) dd = 0;
    
     // 검색날짜 유효기간 가져오기
     var boundDate = getBoundDate(yy,mm,dd);
    
     if (yy < 0  || mm < 0  || dd < 0) {
      if ( boundDate > datestr) {
       alert!("유효하지 않은 검색날짜입니다.\n유효한 날짜는" +
boundDate.substring(0,4) + "년 " +
boundDate.substring(4,6) + "월 " + boundDate.substring(6) +
"일부터 입니다.");
       obj.select();
       return false;
      }
     } else {
      if ( boundDate < datestr) {
       alert!("유효하지 않은 검색날짜입니다.\n유효한 날짜는" +
boundDate.substring(0,4) + "년 " +
boundDate.substring(4,6) + "월 " + boundDate.substring(6) +
"일까지 입니다.");
       obj.select();
       return false;
      }  
     }
    
  
     return true;
  
    }
  
  
  
    //오늘날짜
    function getToDay()
    {
  
        var date = datToday;
  
        var year  = date.getFullYear();
        var month = date.getMonth() + 1; // 1월=0,12월=11이므로 1
더함
        var day   = date.getDate();
  
        if (("" + month).length == 1) { month = "0" + month; }
        if (("" + day).length   == 1) { day   = "0" + day;   }
        
        return ("" + year + month + day)
  
    }
  
  
  
  

  
    function selectComboBox(targt, optValue)
    {
     last = targt.length;
     for(var i=0; i<last; i++){
      if(targt.options[i].value == optValue){
       targt.selectedIndex = i;
       targt.options[i].selected;
      }
     }
    }
  
  
    function isExistsComboBoxValue(targt, optValue)
    {
     last = targt.length;
     for(var i=0; i<last; i++){
      if(targt.options[i].value == optValue){
       return true;
      }
     }
     return false;
    }

  
    function getCal(aFrm, aObj){
    
window.open('/kor/ib/common/msg/cal.jsp?objName=window.opener.'+
aFrm.name +'.' +
aObj.name +'&schdate='+ aFrm.name +'.' +
aObj.name
,"Window2","status=no,height=150,width=120,resizable=no,left="+x+
",top="+y+",scrollbars=no
");
    }
  
    function getCalMonth(aFrm, aObj){
    
window.open("/kor/ib/common/msg/calendar_month.jsp?frmName="+aFrm
.name + "&obj=" +
aObj.name,"calMonth","status=no,height=146,width=255,resizable=no
,left="+x+",top="+y+",scrollbars=no
");
    }

    
/*
* 전화번호
* 앞에 '0'을 채운다
* by 황상훈 2002-10-23 11:26오후
**/

function fill_zero(obj, is4){
var temp="";

if(obj.value == null || obj.value.length < 1 ) {
  return false;
}

if (is4 == 'Y' ) {
  return true;
} else {
  if(obj.value.length != 4 ) {
   for(i=0;i<(4-obj.value.length);i++){
    temp +="0";
   }
   obj.value = temp+obj.value;
  }else{
   obj.value = obj.value;
  }

  return true;
}
}

추천추천 : 191 추천 목록
번호 제목
2,885
input 입력 필드 앞뒤 공백 실시간 제거
2,884
Placeholder 포커스시 감추기
2,883
MySQL 중복된 데이터를 삭제
2,882
MySQL 중복 데이터 확인
2,881
sessionStorage.getItem 와 sessionStorage.setItem
2,880
제이쿼리 랜덤으로 배경색 변경
2,879
preg match에 관한 정규식
2,878
Stream an audio file with MediaPlayer 오디오 파일 스트리밍 하기
2,877
Audio Streaming PHP Code
2,876
PHP $ SERVER 환경 변수 정리
2,875
Vimeo (비메오) API 를 사용하여 플레이어 컨트롤하기
2,874
iframe 사용시 하단에 발생하는 공백 제거방법
2,873
아이프레임(iframe) 전체화면 가능하게 하기
2,872
부트스트랩(bootstrapk)에서 사용하는 class명 정리
2,871
부트스트랩 CSS
2,870
크롬에서 마진 조절
2,869
PHP 현재 페이지의 도메인명이나 url등의 정보 알아오기
2,868
PHP preg match all()
2,867
PHP 로 웹페이지 긁어오기 모든 방법 총정리!
2,866
[PHP] 원격지 파일 주소 노출 안하고 curl로 다운로드 받기
2,865
PHP 함수 정리
2,864
아이프레임(iframe) 비율 유지하면서 크기 조절하는 방법
2,863
PHP 배열에서 무작위로 하나 뽑아주는 array rand() 함수
2,862
PHP 정규식 정리
2,861
PHP 정규식을 활용한 태그 및 특정 문자열 제거 및 추출 방법
2,860
php 크롤링 또는 파싱 함수, 정규식 모음
2,859
제이쿼리 기본 명령어
2,858
웹페이지 가로 모드세로 모드 인식하기
2,857
모바일 웹 화면 강제 회전(가로모드 고정)
2,856
[HTML5]에서 frameset 대체 방법과 iframe 속성
목록
뮤직트로트 부산광역시 부산진구 가야동 ㅣ 개인정보취급방침
Copyright ⓒ musictrot All rights reserved.