/** * @desc : À¯È¿ÇÑ ÁֹιøÈ£ÀÎÁö Á¡°ËÇÑ´Ù. *
* 1. ÁֹιøÈ£ 13ÀÚ¸®Áß 12ÀÚ¸®¸¦ óÀ½ºÎÅÍ A¶ó°í Çϸé 12ÀÚ¸® * ±îÁö¸¸ ´ÙÀ½½ÄÀ» ½ÃÇàÇÑ´Ù. * Total = (A * 2) + (B * 3) + (C * 4) + (D * 5) + (E * 6) * + (F * 7) + (G * 8) + (H * 9) + (I * 2) + (J * 3) * + (K * 4) + (L * 5) * 2. TotalÀ» 11·Î ³ª´« ³ª¸ÓÁö¸¦ ÃëÇÑ´Ù. --> X * 3. ³ª¸ÓÁö¸¦ 11¿¡¼ »« Â÷¸¦ ÃëÇÑ´Ù. --> 11 - X = Y * 4. Â÷¸¦ ±¸ÇÑ °ªÀ» ´Ù½Ã 10À¸·Î³ª´« ³ª¸ÓÁö¸¦ ÃëÇÑ´Ù. * --> Y % 10 = Z * 5. 1,2,3,4¿¡¼ ±¸ÇÑ °ªÀÌ ÁֹιøÈ£ ³¡ÀÚ¸®°¡ µÈ´Ù. --> 'Z' * 6. 'Z'¿Í ³¡ÀÚ¸®¼ö¸¦ ºñ±³Çؼ Ʋ¸®¸é ÁֹιøÈ£ ¿À·ù. ** @param : pResidnetNo - ±¸ºÐÀÚ¸¦ Á¦¿ÜÇÑ ÁֹιøÈ£ 13ÀÚ¸® ¹®ÀÚ¿ * @return : true/false * @--------------------------------------------------- */ function isResidentNo(pResidnetNo) { if(isNaN(pResidnetNo)) return false; if(pResidnetNo.length != 13) return false; var c = pResidnetNo.substr(6,1); if(c == '5' || c == '6') return true; last = pResidnetNo.substr(12,1); regNo = new Array(12); regNo[12] = 0; for(var i = 0; i < (regNo.length - 1); i++) { regNo[i] = eval(pResidnetNo.substr(i, 1)) * ((i % 8) + 2); } for(var i = 0; i < (regNo.length - 1); i++) { regNo[12] += regNo[i]; } var result = ((11 - (regNo[12] % 11)) % 10); if(result == eval(last)) { return true; } else { //Áֹεî·Ï¹øÈ£°¡ À¯È¿ÇÏÁö ¾ÊÀº °æ¿ì, ¿Ü±¹ÀÎ Áֹεî·Ï¹øÈ£ üũ ·ÎÁ÷ ¼öÇà return isForegnResidentNo(pResidnetNo); } } /** * @desc : ÇöÀçÀÏÀÚ¸¦ ±âÁØÀ¸·Î ³ªÀ̰è»ê * @param : pResidentNo - Áß°£ ±¸ºÐÀÚ¸¦ Á¦¿ÜÇÑ ÁֹιøÈ£ 13ÀÚ¸® * @param : pDate - ±âÁØÀÌ µÇ´Â Date Object ÀÏÀÚ (default´Â ¿À´Ã ÀÏÀÚ) * @param : pPosition - 1¼¼ÀÌÇϽà °³¿ù °è»ê *
* * ÇÔ¼ö È£Ãâ½Ã ´ÙÀ½°ú °°Àº µÎ°¡Áö ÇüÅ·Π»ç¿ëÇÑ´Ù. * * 1) getFullAge("1234567890123"); --> ¿À´Ã ÀÏÀÚ¸¦ ±âÁØÀ¸·Î ³ªÀ̰è»ê * 2) getFullAge("1234567890123", date); --> parameter °ªÀ¸·Î ³Ñ°Ü¹ÞÀº date¸¦ ±âÁØÀ¸·Î ³ªÀ̰è»ê * ** @return : ¼ýÀÚ (¿À·ù½Ã -1) * @--------------------------------------------------- */ function getFullAge(pResidentNo, pDate, pPosition) { if(isNaN(pResidentNo)) return -1; var pivotYY = ""; var pivotMM = ""; var pivotDD = ""; var regYY = ""; var regMM = ""; var regDD = ""; if(typeof(pDate) == "undefined" || pDate == "" || pDate == null) { var today = new Date(); pivotYY = today.getYear(); pivotMM = today.getMonth() + 1; pivotDD = today.getDate(); } else { pivotYY = pDate.getYear(); pivotMM = pDate.getMonth() + 1; pivotDD = pDate.getDate(); } if(pResidentNo.length == 13 && isResidentNo(pResidentNo)){ gender = pResidentNo.substr(6, 1); regYY = eval(pResidentNo.substr(0, 2)); regMM = eval(pResidentNo.substr(2, 2)); regDD = eval(pResidentNo.substr(4, 2)); if(gender == '3' || gender == '4' || gender == '7' || gender == '8') { regYY += 2000; } else if(gender == '0' || gender == '9') { regYY += 1800; } else { regYY += 1900; } }else if(pResidentNo.length == 8 && isValidDateTime(pResidentNo, "YYYYMMDD")){ regYY = eval(pResidentNo.substr(0, 4)); regMM = eval(pResidentNo.substr(4, 2)); regDD = eval(pResidentNo.substr(6, 2)); }else{ return -1; } var age = pivotYY - regYY; if(age > 0) { if(pivotMM == regMM) { if(pivotDD < regDD) { age -= 1; } } else if(pivotMM < regMM) { age -= 1; } } if ( pPosition == "M") { //12°³¿ùÀÌÇÏÀ϶§ °è»ê if(age <= 0){ if(pivotYY > regYY) { pivotMM += 12; } age = pivotMM - regMM ; if(pivotDD < regDD) { age -= 1; } age = "0."+age; } } return age; } /** * @desc : ¼ºº°À» Return * @param : pResidnetNo - Áß°£ ±¸ºÐÀÚ¸¦ Á¦¿ÜÇÑ ÁֹιøÈ£ 13ÀÚ¸® ȤÀº ÁֹιøÈ£ µÚ 7ÀÚ¸® ¹®ÀÚ¿ * @return : M(ale)/F(emale) , ¿À·ù½Ã "" ¹Ýȯ * @--------------------------------------------------- */ function getGender(pResidentNo) { if(pResidentNo.length != 13 && pResidentNo.length != 7) return false; var rrns = 0; if(pResidentNo.length == 13) { rrns = eval(pResidentNo.substr(6, 1)); } else { rrns = eval(pResidentNo.substr(0, 1)); } return (rrns % 2) ? "M" : "F"; } /** * @desc : À¯È¿ÇÑ »ç¾÷ÀÚ µî·Ï¹øÈ£ÀÎÁö Á¡°Ë * @param : pWorkNo - ±¸ºÐÀÚ¸¦ Á¦¿ÜÇÑ »ç¾÷ÀÚ µî·Ï¹øÈ£ * @return : true/false * @--------------------------------------------------- */ function isBusinessNo(pWorkNo) { if(isNaN(pWorkNo)) return false; if(pWorkNo.length != 10) return false; var chkValue = new Array(1,3,7,1,3,7,1,3,5); var epNo = new Array(10); for(var i = 0; i < 10; i++) epNo[i] = eval(pWorkNo.substr(i, 1)); for(var i = 0, sum = 0; i < 9; i++) sum += epNo[i] * chkValue[i]; sum += ((epNo[8] * 5) / 10); var mod = sum % 10; var epNoChk = ((mod == 0) ? 0 : 10 - mod); return ((epNoChk == epNo[9]) ? true : false); } /** * @desc : ¸ÞÀÏÀÌ ¿Ã¹Ù¸¥Áö °Ë»çÇÑ´Ù. * @param : pEmail - eMail ÁÖ¼Ò * @return : true/false * @--------------------------------------------------- */ function isEMail(pEmail) { var email = pEmail.split("@"); if(email.length != 2) return false; if(email[0].replace(/(^\s*)|(\s*$)/g, "").length == 0) return false; var domain = email[1].split("."); if(domain.length != 2 || domain.length != 3) return false; if(domain[0].replace(/(^\s*)|(\s*$)/g, "").length == 0) return false; if(domain[1].replace(/(^\s*)|(\s*$)/g, "").length == 0) return false; return true; } /** * @desc : ¿Ã¹Ù¸¥ DDD¹øÈ£ÀÎÁö Á¡°Ë (ÇÊ¿äÇÒ±î?) * @param : pDDD - DDD ¹øÈ£ ¹®ÀÚ¿ ȤÀº ¼ýÀÚ * @return : true/false * @--------------------------------------------------- */ function isTelephoneZoneNo(pDDD) { //pDDD ¼ýÀÚ Á¡°Ë logic ÇÊ¿ä var strDDD = pDDD + ""; if( strDDD != "02" && strDDD != "031" && strDDD != "032" && strDDD != "033" && strDDD != "041" && strDDD != "042" && strDDD != "043" && strDDD != "051" && strDDD != "052" && strDDD != "053" && strDDD != "054" && strDDD != "055" && strDDD != "061" && strDDD != "062" && strDDD != "063" && strDDD != "064" ) return false; return true; } /** * @desc : ÆÄÀÏÀ» Àоî TextStreamÀ» ¹Ýȯ * @param : pFilePath - ÆÄÀÏÀÇ Full Path * @param : pMode - Optional. File Àбâ,¾²±â Mode * @return : ÆÄÀÏÀÇ TextStream * @deprecated : »ç¿ëÇÏÁö ¾ÊÀ½. - ÇÊ¿ä½Ã ¿äûÇÒ°Í. * @--------------------------------------------------- var OpenFileForReading = 1 ; var OpenFileForWriting = 2 ; var OpenFileForAppending = 8 ; function getReadFile(pFilePath, pMode) { var fso = new ActiveXObject("Scripting.FileSystemObject"); var TextStream; if (pMode == null) { TextStream = fso.OpenTextFile(pFilePath, OpenFileForReading); } else { TextStream = fso.OpenTextFile(pFilePath, pMode); } return TextStream; } */ /** * @desc : ÆÄÀÏ Copy * @param : srcFilePath * @param : targetFilePath * @deprecated : »ç¿ëÇÏÁö ¾ÊÀ½. - ÇÊ¿ä½Ã ¿äûÇÒ°Í. * @--------------------------------------------------- function getCopyFile(srcFilePath, targetFilePath) { var fso = new ActiveXObject("Scripting.FileSystemObject"); var sLine; var File = fso.GetFile(srcFilePath) var TextStream = File.OpenAsTextStream(OpenFileForReading) var MyFile = fso.CreateTextFile(targetFilePath, true) while(!TextStream.AtEndOfStream) { sLine = TextStream.ReadLine() + "\r\n"; MyFile.WriteLine(sLine); } TextStream.Close(); MyFile.Close(); } */ //¹ÙÄÚµå ÆùÆ®¸¦ µî·ÏÇÑ´Ù. function installBarcodeFont(fontNm){ // 2008.02.19 ÇØ´ç ocx º¯°æ. - ±è±âÈ£ //body.createChild("xforms:object", "id:obj_barcodefont; clsid:{ad1a9e73-cddd-4636-b4aa-f121453af3bb}; visibility:hidden; left:0px; top:0px; width:0px; height:0px; "); body.createChild("xforms:object", "id:LiveUtil; clsid:{7b1f53ab-6137-4773-88cc-53a46af2d289}; visibility:hidden; left:0px; top:0px; width:0px; height:0px;"); if (fontNm == null || fontNm == "") { fontNm = "FREE3OF9.TTF"; } LiveUtil.installFont(fontNm); } /** * @desc : ¿Ü±¹ÀÎ Áֹεî·Ï¹øÈ£¿¡ ´ëÇÑ °ËÁõÀ» ¼öÇà */ function isForegnResidentNo(pResidnetNo) { var sum = 0; var odd = 0; buf = new Array(13); for (i = 0; i < 13; i++) { buf[i] = parseInt(pResidnetNo.charAt(i)); } odd = buf[7]*10 + buf[8]; //±â°ü¹øÈ£ °Ë»ç, ±â°ü¹øÈ£¸¦ 2·Î ³ª´« °æ¿ì, ³ª¸ÓÁö ÀÖ´Â °æ¿ì, Áֹεî·Ï¹øÈ£ ¹«È¿ if (odd%2 != 0) { return false; } //µî·ÏÀÚ±¸ºÐÀÌ ¾Æ·¡¿Í °°Áö ¾ÊÀº °æ¿ì ¿À·ù // 6 : ?? // 7 : ¿Ü±¹±¹Àûµ¿Æ÷ // 8 : Àç¿Ü±¹ÀÎ // 9 : ¼ø¼ö¿Ü±¹ÀÎ if ((buf[11] != 6)&&(buf[11] != 7)&&(buf[11] != 8)&&(buf[11] != 9)) { return false; } //ÁֹιøÈ£ 13ÀÚ¸® Áß 12ÀÚ¸®¸¦ óÀ½ºÎÅÍ 12ÀÚ¸®±îÁö ¹è¿°ªÀÇ ¼ø¼´ë·Î °öÇÑ ÈÄ Çհ踦 ³½´Ù. //Total = (A * 2) + (B * 3) + (C * 4) + (D * 5) + (E * 6) + (F * 7) // + (G * 8) + (H * 9) + (I * 2) + (J * 3) + (K * 4) + (L * 5) multipliers = [2,3,4,5,6,7,8,9,2,3,4,5]; for (i = 0, sum = 0; i < 12; i++) { sum += (buf[i] *= multipliers[i]); } sum=11-(sum%11); if (sum>=10) sum-=10; sum += 2; if (sum>=10) sum-=10; if ( sum != buf[12]) { return false; } else { return true; } }