var sDateSeparator = "-"; function getDateSeparator() { return sDateSeparator; } /***************************************************************************** 날짜형식으로 입력되었는지 검색한다. *****************************************************************************/ function DateFormat(data) { return DateFormatParameter(data, sDateSeparator); } /***************************************************************************** 날짜형식으로 입력되었는지 검색한다. *****************************************************************************/ function DateFormatParameter(data, par) { var sDate = TrimNum(data); var sTemp = ''; if (sDate.length == 6 || sDate.length == 8) { if(!isDate(sDate)) { return sDate } sTemp = sTemp + sDate.substring(0, 4) + par + sDate.substring(4, 6); if (sDate.length = 8) { sTemp = sTemp + par + sDate.substring(6); } } else if (sDate.length == 12 ) { sTemp = ( sDate.substring( 0, 4) + par + sDate.substring( 4, 6) + par + sDate.substring( 6, 8) + " " + sDate.substring( 8, 10) + ":" + sDate.substring(10 ) ) } else { sTemp = sDate; } return sTemp } /***************************************************************************** 날짜형식으로 입력되었는지 검색한다. onblur event에 사용한다. ( 예: onBlur="DateFormatObject(); ) *****************************************************************************/ function DateFormatObject() { var KeyElemObj = event.srcElement; KeyElemObj.value = DateFormat(KeyElemObj.value); } /***************************************************************************** data가 날짜형식 범위에 맞는지 검색 *****************************************************************************/ function isDate(sDate) { var isOK = false; sDate = TrimNum(sDate); var syy = Number(sDate.substr(0, 4)); var smm = Number(sDate.substr(4, 2)); var sdd = Number(sDate.substr(6, 2)); if((smm==1)||(smm==3)||(smm==5)||(smm==7)||(smm==8)||(smm==10)||(smm==12)) { if(sdd<=31) { isOK = true; } } else if((smm==4)||(smm==6)||(smm==9)||(smm==11)) { if(sdd<=30) { isOK = true; } } else if(smm==2) { if((syy%4==0) && (syy%100!=0) ||(syy%400==0)) { if(sdd<=29) { isOK = true; } } else { if(sdd<=28) { isOK = true; } } } if(!isOK || (sdd == 0)) { alert("존재하지 않는 날짜입니다."); return false; } return true; } /***************************************************************************** 현재 날짜를 리턴 *****************************************************************************/ function NowDate() { var now = new Date(); var year = now.getYear()+""; var month = now.getMonth() + 1+""; var date = now.getDate(); var timeValue; timeValue = year; if (month < 10) timeValue += "0"; timeValue += month; if (date < 10) timeValue += "0"; timeValue += date; return DateFormat(timeValue); } /***************************************************************************** 현재 날짜를 리턴 *****************************************************************************/ function NowDateTime() { var now = new Date(); var year = now.getYear()+""; var month = now.getMonth() + 1+""; var date = now.getDate(); var hour = now.getHours() var minute = now.getMinutes() var timeValue; timeValue = year+""; if (month < 10) timeValue += "0"; timeValue += month+""; if (date < 10) timeValue += "0"; timeValue += date; if (hour < 10) timeValue += "0"; timeValue += hour; if (minute < 10) timeValue += "0"; timeValue += minute; return DateFormat(timeValue); } // 검색기간 및 년월일 //////////////////////////////////////////////////////////////////////////////////////// function js_dateCheck(obj) { var err = 0; var chartest = obj.value; ival = obj.value; if (ival == '') return; chartest = js_removeChar(chartest,'-'); if(chartest.length != 8) { alert('YYYYMMDD의 형식으로 입력하십시요.'); obj.value = ""; obj.focus(); return false; } cen = chartest.substring(0, 2); // century if (cen > 19) { yea = chartest.substring(0, 4); // year } else { yea = chartest.substring(2, 4); // year } mon = chartest.substring(4, 6); // month da = chartest.substring(6, 8); // day //들어온 값 검색 - 문자인지.. if(!js_numberCheck(chartest)) { alert('문자가 입력될수 없습니다.'); obj.focus(); return false; } //기본적인 일, 월, 년 에러 검색 if(mon < 1 || mon > 12) err = 1; if(da < 1 || da > 31) err = 1; if (cen < 20) { if(yea < 0 || yea > 99) err = 1; } if(cen < 19) err = 1; if(err == 1) { alert('날짜 형식에 맞지 않습니다.'); obj.focus(); return false; } d = new Date(yea, mon - 1, da); if(yea != d.getFullYear() || mon != (d.getMonth() + 1)) { alert('날짜 형식에 맞지 않습니다.'); obj.focus(); return false; } else{ if (cen > 19) { obj.value = yea + '-' + mon + '-' + da; } else { obj.value = cen + yea + '-' + mon + '-' + da; } return true; } } function js_numberCheck(str) { var src = new String(str); var tar = true; var i, len=src.length; for (i=0; i < len; i++) { if ((src.charAt(i) < '0') | (src.charAt(i) > '9')) return false; } return true; } function js_MakeDateType( txtObj ) { if ( txtObj.value.length == 4 || txtObj.value.length == 7 ) { var count = 0; // '/' 가 두개인지 체크 for ( i=0; i 12) return false; if(da < 1 || da > 31) return false; var d = new Date(yea, mon - 1, da); yea = eval(src.substring(0, 4)); // year mon = eval(src.substring(4, 6)); // month da = eval(src.substring(6, 8)); // day if(yea<'2000') yea = src.substring(2, 4); if(yea!=d.getFullYear() || mon!=(d.getMonth()+1) || da!=d.getDate()) return false; } // 년월일 시분 function js_isDate2(str) { var src = js_removeDate(str); if(js_isNumber(src)==false) return false; if(src.length ==0) return; if(src.length !=12) return false; yea = src.substring(0, 4); // year mon = src.substring(4, 6); // month da = src.substring(6, 8); // day //기본적인 일, 월, 년 에러 검색 if(mon < 1 || mon > 12) return false; if(da < 1 || da > 31) return false; var d = new Date(yea, mon - 1, da); if(yea<'2000') yea = src.substring(2, 4); if(yea!=d.getYear() || mon!=(d.getMonth()+1) || da!=d.getDate()) return false; } function js_isNumber(str) { var src = new String(str); var tar = true; var i, len = src.length; for (i=0; i < len; i++) { if((src.charAt(i) < '0') | (src.charAt(i) > '9')) if(i==0) { if(src.charAt(i) != '-') return false; } else { if(src.charAt(i) != '.') return false; } } return true; } function js_isDateCmp(FromDate, ToDate) { return FromDate > ToDate ? false : true; }