/*##########################################################################################################################################################*/ /*######################################################### ###############################################################*/ /*######################################################### 윈도우 관련 ###############################################################*/ /*######################################################### ###############################################################*/ /*##########################################################################################################################################################*/ /*------------------------------------------------------------------------- Function : commify() Spec : 숫자 세자리마다 콤마 찍기 Argument : String Return : String Example : commify('n') -------------------------------------------------------------------------*/ function commify(n) { var reg = /(^[+-]?\d+)(\d{3})/; // 정규식 n += ''; // 숫자를 문자열로 변환 while(reg.test(n)) { n = n.replace(reg, '$1' + ',' + '$2'); } return n; } /*------------------------------------------------------------------------- Function : fn_Calendar() Spec : 달력 Argument : objName Return : String Example : onclick="fn_Calendar(objName)" -------------------------------------------------------------------------*/ function fn_Calendar(objName) { obj = eval(objName); var ls_Date = new Array(); var ls_CurVal = obj.value; ls_Date = window.showModalDialog("/common/js/Calendar_day.html", ls_CurVal, "dialogTop:"+event.screenY+"; dialogLeft:"+eval(event.screenX-185)+"; dialogWidth:240px; dialogHeight:262px; Raised; resizable: no; status: no"); if (ls_Date != null){ obj.value = ls_Date; } } /*------------------------------------------------------------------------- Function : goto_byselect() Spec : 해당 페이지로 이동 Argument : Target Frame, Move Page Return : Example : onchange="goto_byselect(sel, targetstr)" -------------------------------------------------------------------------*/ function goto_byselect(sel, targetstr) { var index = sel.selectedIndex; if (sel.options[index].value != '') { if (targetstr == 'blank') { window.open(sel.options[index].value, 'win1'); } else { var frameobj; if (targetstr == '') targetstr = 'self'; if ((frameobj = eval(targetstr)) != null) frameobj.location = sel.options[index].value; } } } /*------------------------------------------------------------------------- Function : goNoIframe() Spec : iframe 없애면서 이동시키기 Argument : String Return : Example : goNoIframe(link) -------------------------------------------------------------------------*/ function goNoIframe(link) { parent.self.location.replace(link); } /*------------------------------------------------------------------------- Function : windowOpen(), windowOpen2() Spec : 윈도우 Open Argument : String Return : Example : onclick="windowOpen(htmlFile, windowName, w, h)" -------------------------------------------------------------------------*/ function windowOpen(htmlFile, windowName, w, h) { window.open(htmlFile, windowName, "toolbar=no, location=no, status=no, menubar=no, esizable=no, width="+w+",height="+h+""); } function windowOpen2(htmlFile, windowName, w, h) { window.open(htmlFile, windowName, "toolbar=no, location=no, status=no, menubar=no, resizable=yes,scrollbars=yes, width="+w+",height="+h+""); } /*------------------------------------------------------------------------- Function : moveFocus() Spec : 포커스이동 Argument : Num, From form, To form Return : Example : onKeyUp="moveFocus(6, this, this.form.jumin2);" -------------------------------------------------------------------------*/ function moveFocus(num, fromform, toform) { var str = fromform.value.length; if(str == num) { toform.focus(); } } /*##########################################################################################################################################################*/ /*######################################################### ###############################################################*/ /*######################################################### Form 관련 ###############################################################*/ /*######################################################### ###############################################################*/ /*##########################################################################################################################################################*/ /*------------------------------------------------------------------------- Function : checkMinMaxLen() Spec : 변수의 길이가 min 과 max 사이에 있는지 체크 Argument : String, Min, Max Return : boolean Example : checkMinMaxLen( "dir" , 0, 4); -------------------------------------------------------------------------*/ function checkMinMaxLen(str, min , max) { if( str.length >= min && str.length <= max ) { return true; } else { return false; } } /*------------------------------------------------------------------------- Function : isHangul() Spec : 변수값의 한글여부 체크 Argument : String Return : boolean Example : isHangul('한글'); -------------------------------------------------------------------------*/ function isHangul( str ) { var bgn_hangul = parseInt(0xAC00, 10); // '가' var end_hangul = parseInt(0xD79D, 10); // '힝' for (var jdx = 0; jdx < str.length; jdx++ ) { sTempChar = parseInt(str.substr(jdx,1).charCodeAt(0)); if ( sTempChar < bgn_hangul || sTempChar > end_hangul ) { return false; } } return true; } /*------------------------------------------------------------------------- Function : isEnglish() Spec : 변수값의 영문여부 체크 Argument : String Return : boolean Example : isEnglish('영문'); -------------------------------------------------------------------------*/ function isEnglish( str ) { for (var i =0 ; i < str.length; i++) { sTempChar = parseInt(str.substr(i,1).charCodeAt(0)); if ( sTempChar < 64 || sTempChar > 123 ) { return false; } } return true; } /*------------------------------------------------------------------------- Function : isInteger() Spec : 변수값의 숫자여부 체크 Argument : String Return : boolean Example : isInteger('숫자'); -------------------------------------------------------------------------*/ function isInteger( str ) { for (var i =0 ; i < str.length; i++) { sTempChar = str.substr(i,1).charCodeAt(0); if (sTempChar < 47 || sTempChar > 58) { return false; } } return true; } /*------------------------------------------------------------------------- Function : isEngInteger() Spec : 변수값의 영어, 숫자 여부 체크 Argument : String Return : boolean Example : isEngInteger('scy0121'); -------------------------------------------------------------------------*/ function isEngInteger( str ) { for (var i =0 ; i < str.length; i++) { if(!isEnglish(str.substr(i,1)) && !isInteger(str.substr(i,1)) ) { return false; } } return true; } /*------------------------------------------------------------------------- Function : checkName() Spec : 변수값의 영문, 한글 여부 체크 Argument : String Return : boolean Example : checkName('scy0121'); -------------------------------------------------------------------------*/ function checkName( str ) { for (var i =0 ; i < str.length; i++) { if (!isHangul(str.substr(i,1)) && !isEnglish(str.substr(i,1))) { return false; } } return true; } /*------------------------------------------------------------------------- Function : isNull() Spec : 변수값의 NULL 여부 체크 Argument : String Return : boolean Example : isNull('scy0121'); -------------------------------------------------------------------------*/ function isNull( str ) { var chkstr = str + ""; var Result = true; if ( (chkstr == "") || (chkstr == null) ) { return Result; } for ( jdx = 0; Result && (jdx < str.length); jdx++ ) { if ( str.substring(jdx, jdx+1) != " " ) { Result = false; } } return Result; } /*------------------------------------------------------------------------- Function : f_onlyNumber() Spec : Only Number Argument : Return : boolean Example : OnKeypress="f_onlyNumber();" -------------------------------------------------------------------------*/ function f_onlyNumber() { if (event.keyCode != 13) { if((event.keyCode < 48) || (event.keyCode > 57)) { alert("숫자항목에 문자를 입력할 수 없습니다."); event.returnValue = false; } } } /*------------------------------------------------------------------------- Function : f_checkByte() Spec : 바이트 수 Argument : (document.chb.id) Return : int Example : f_checkByte(document.chb.id); -------------------------------------------------------------------------*/ function f_checkByte(obj){ var str,msg; var len = 0; var temp; var count = 0; msg = obj.value; str = new String(msg); len = str.length; for (k=0 ; k<len ; k++){ temp = str.charAt(k); if (escape(temp).length > 4) { count += 2; } else if (temp == '\r' && str.charAt(k+1) == '\n') { // \r\n일 경우 var strPass = obj.value; var strLength = strPass.length; var tst = obj.value.substring(0, (strLength) - 2); } else if (temp != '\n') { count++; } } return count; } /*------------------------------------------------------------------------- Function : isID() Spec : 4~12자의 영문,숫자를 공백없이 조합 Argument : String Return : boolean Example : isID(str); -------------------------------------------------------------------------*/ function isID(str) { if(str.length < 4 || str.length > 12) { return false; } for(var i=0; i < str.length; i++) { var chr = str.substr(i,1); if((chr < '0' || chr > '9') && (chr < 'a' || chr > 'z')) { return false; } } return true; } /*------------------------------------------------------------------------- Function : isJumin() Spec : 주민번호 체크 Argument : String ('-' 제외 13자리) Return : boolean Example : isJumin(str); -------------------------------------------------------------------------*/ function isJumin( str ) { var str1, str2, str3, str4, str5, str6, str7; var str8, str9, str10, str11, str12, str13; var Sum, Chk; var Result = false; if ( str.length == 13 ) { Result = true; str1 = str.charAt(0); str2 = str.charAt(1); str3 = str.charAt(2); str4 = str.charAt(3); str5 = str.charAt(4); str6 = str.charAt(5); str7 = str.charAt(6); str8 = str.charAt(7); str9 = str.charAt(8); str10 = str.charAt(9); str11 = str.charAt(10); str12 = str.charAt(11); str13 = str.charAt(12); Sum = ( parseInt(str1) * 2 ) + ( parseInt(str2) * 3 ) + ( parseInt(str3) * 4 ) + ( parseInt(str4) * 5 ); Sum = parseInt(Sum) + ( parseInt(str5) * 6 ) + ( parseInt(str6) * 7 ) + ( parseInt(str7) * 8 ); Sum = parseInt(Sum) + ( parseInt(str8) * 9 ) + ( parseInt(str9) * 2 ) + ( parseInt(str10) * 3 ); Sum = Sum + ( parseInt(str11) * 4 ) + ( parseInt(str12) * 5 ); Chk = Sum % 11; Chk = 11 - Chk; if ( Chk == 11 ) { Chk = 1; } else if ( Chk == 10 ) { Chk = 0; } if ( str13 != Chk ) { Result = false; } } else { Result = false; } return Result; } /*------------------------------------------------------------------------- Function : isJumin() Spec : 사업자 번호 체크 Argument : String ('-' 제외 10자리) Return : boolean Example : isBusiNumber(num); -------------------------------------------------------------------------*/ function isBusiNumber(num) { var temp, comp, ld_1, ld_2, ld_3, ld_4, ld_5, ld_6, ld_7, ld_8, ld_9, ld_10; if ( num.length != 10 ) { return false; } ld_1 = num.substr(0,1); ld_2 = num.substr(1,1); ld_3 = num.substr(2,1); ld_4 = num.substr(3,1); ld_5 = num.substr(4,1); ld_6 = num.substr(5,1); ld_7 = num.substr(6,1); ld_8 = num.substr(7,1); ld_9 = num.substr(8,1); ld_10 = num.substr(9,1); temp = ( ld_1 * 1 ) % 10 + ( ld_2 * 3 ) % 10 + ( ld_3 * 7 ) % 10 + ( ld_4 * 1 ) % 10 + ( ld_5 * 3 ) % 10 + ( ld_6 * 7 ) % 10 + ( ld_7 * 1 ) % 10 + ( ld_8 * 3 ) % 10 + ( ld_9 * 5 ) % 10 + Math.floor( ( ld_9 * 5 ) / 10 ) ; comp = temp % 10; if ( ld_10 == ( 10 - comp ) ) { return true; } else { if ( ( comp == 0 ) && ( ld_10 == 0 ) ) { return true; } else { return false; } } } /*------------------------------------------------------------------------- Function : checkEmail() Spec : 이메일 유효체크 Argument : String Return : boolean Example : checkEmail(strEmail); -------------------------------------------------------------------------*/ function checkEmail(strEmail) { var arrMatch = strEmail.match(/^(\".*\"|[A-Za-z0-9_-]([A-Za-z0-9_-]|[\+\.])*)@(\[\d{1,3}(\.\d{1,3}){3}]|[A-Za-z0-9][A-Za-z0-9_-]*(\.[A-Za-z0-9][A-Za-z0-9_-]*)+)$/); if (arrMatch == null) { return false; } var arrIP = arrMatch[2].match(/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/); if (arrIP != null) { for (var i = 1; i <= 4; i++) { if (arrIP[i] > 255) { return false; } } } return true; } /*------------------------------------------------------------------------- Function : checkImage() Spec : 이미지 파일체크 Argument : String Return : boolean Example : checkImage(str); -------------------------------------------------------------------------*/ function checkImage(str) { var strlen = str.length; var ext = (str.substr(strlen-4, 4)).toLowerCase(); var flag = false; if( ext == '.jpg') { flag = true; } if( ext == '.gif') { flag = true; } if( ext == 'jpeg') { flag = true; } if( ext == '.bmp') { flag = true; } if( ext == '.swf') { flag = true; } return flag; } /*------------------------------------------------------------------------- Function : Check_msg() Spec : 아이디와 메세지를 받아서 메세지를 뿌리고 포커스 이동 Argument : Form Name, String Return : boolean Example : Check_msg("name","이름을 입력해 주시기 바랍니다.") -------------------------------------------------------------------------*/ //### 아이디와 메세지를 받아서 메세지를 뿌리고 포커스를 잡아준다. function Check_msg(id, msg) { if(document.all[id].value == "" || document.all[id].value.length < 0 || document.all[id].value == " ") { alert(msg); if(document.all[id].style.display != "none"){ document.all[id].focus(); } return false; } else { return true; } }