//기본변수 var NUM = "0123456789"; var HANCHAR = "ㄱ"; var SALPHA = "abcdefghijklmnopqrstuvwxyz"; var ALPHA = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"+SALPHA; var EMAIL = "!#$%&*+-./=?@^_`{|}"+NUM+ALPHA; //var PASSWORD = "!@.#,$%^*&_-" + ALPHA + NUM; var PASSWORD = ALPHA + NUM; var ERRORMSG = ""; //null 검사 function checkNull(obj, name) { if(obj.value == "") { alert(name+"을(를) 입력하세요."); obj.focus(); return false; } return true; } //외국인 등록번호검사 function checkFgnID(oFirst, oLast) { var sRidfirst = oFirst.value; var sRidlast = oLast.value; var sRid = oFirst.value + oLast.value; var ntyear = sRidlast.substring(0,1); //7번째 자리수 체크 var ntmonth = sRidfirst.substring(2,4); var ntday = sRidfirst.substring(4,6); var fgnNum = sRidlast.substring(5,6); //12번째 자리수 체크 if(sRidfirst.length<6 || Number(ntmonth)<=0 || Number(ntday)<=0){ alert("외국인등록번호 앞부분이 잘못되었습니다."); oFirst.focus(); return false; } if(sRid.lstength<7 || (ntyear != 5 && ntyear != 6 && ntyear != 7 && ntyear != 8) || (fgnNum != 7 && fgnNum != 8 && fgnNum != 9)){ alert("외국인등록번호 앞부분이 잘못되었습니다."); oLast.focus(); return false; } var iChekBit = parseInt(sRid.substring(12,13)); var iCheck = (13- ((parseInt(sRid.substring(0,1)) * 2) + (parseInt(sRid.substring(1,2)) * 3) + (parseInt(sRid.substring(2,3)) * 4) + (parseInt(sRid.substring(3,4)) * 5) + (parseInt(sRid.substring(4,5)) * 6) + (parseInt(sRid.substring(5,6)) * 7) + (parseInt(sRid.substring(6,7)) * 8) + (parseInt(sRid.substring(7,8)) * 9) + (parseInt(sRid.substring(8,9)) * 2) + (parseInt(sRid.substring(9,10)) * 3) + (parseInt(sRid.substring(10,11)) * 4) + (parseInt(sRid.substring(11,12)) * 5)) % 11 ) % 10 ; if (iChekBit != iCheck) { alert("외국인등록번호가 올바르지 않습니다."); oFirst.focus(); return false; } return true; } //주민번호검사 function checkJuminNo(sRIDFirst, sRIDLast) { var jumin1 = sRIDFirst.value; var jumin2 = sRIDLast.value; //alert(jumin1 + "-" + jumin2); var chk = 0; var nYear = jumin1.substring(0,2); var nMondth = jumin1.substring(2,4); var nDay = jumin1.substring(4,6); var nSex = jumin2.charAt(0); var ntyear = jumin2.substring(0,1); //7번째 자리수 체크 if ( !checkType(sRIDFirst, NUM) || (jumin1.length!=6 || nMondth<1 || nMondth>12 || nDay<1 || nDay>31) ) { var sMsg = "주민등록번호 앞부분이 잘못되었습니다."; if(typeof gLang !="undefined"){ if(gLang=="ENGLISH") sMsg="The former part of the resident registration number is invalid. "; else if(gLang=="CHINESE") sMsg="外国人登录证号码的前部分有错误。"; } alert(sMsg); sRIDFirst.focus(); return false; } if ( !checkType(sRIDLast, NUM) ) { var sMsg = "주민등록번호 뒷부분이 잘못되었습니다."; if(typeof gLang !="undefined"){ if(gLang=="ENGLISH") sMsg="The latter part of the resident registration number is invalid. "; else if(gLang=="CHINESE") sMsg="外国人登录证号码的后部分有错误。"; } alert(sMsg); sRIDLast.focus(); return false; } if (nSex!=5 && nSex!=6) { if ( (jumin2.length!=7 || (nSex!=1 && nSex!=2 && nSex!=3 && nSex!=4)) || (ntyear == 5 || ntyear == 6 || ntyear == 7 || ntyear == 8) ) { var sMsg = "주민등록번호 뒷부분이 잘못되었습니다."; if(typeof gLang !="undefined"){ if(gLang=="ENGLISH") sMsg="The latter part of the resident registration number is invalid. "; else if(gLang=="CHINESE") sMsg="外国人登录证号码的后部分有错误。"; } alert(sMsg); sRIDLast.focus(); return false; } //주민번호 유효성 검증 주석처리 /* var i; for (i=0; i<6; i++) { chk += ( (i+2) * parseInt( jumin1.charAt(i) )); } for (i=6; i<12; i++) { chk += ( (i%8+2) * parseInt( jumin2.charAt(i-6) )); } chk = 11 - (chk%11); chk %= 10; if (chk != parseInt( jumin2.charAt(6))) { var sMsg ="유효하지 않은 주민등록번호입니다."; if(typeof gLang !="undefined"){ if(gLang=="ENGLISH") sMsg="It is an invalid resident registration number. "; else if(gLang=="CHINESE") sMsg="无效的外国人登录证号码。"; } alert(sMsg); sRIDFirst.focus(); return false; } */ } return true; } // 사업자 등록번호 검사 (형식 : xxx , xx , xxxxx) function checkBizNo(strCk1, strCk2, strCk3) { //alert(strCk1+" "+strCk2+" "+strCk3); var s1 = strCk1.value; var s2 = strCk2.value; var s3 = strCk3.value; var s = ""; if(!checkType(strCk1, NUM) || s1.length!=3) { alert("사업자등록번호 앞부분이 잘못되었습니다."); strCk1.focus(); return false; } if(!checkType(strCk2, NUM) || s2.length!=2) { alert("사업자등록번호 중간부분이 잘못되었습니다."); strCk2.focus(); return false; } if(!checkType(strCk3, NUM) || s3.length!=5) { alert("사업자등록번호 뒷부분이 잘못되었습니다."); strCk3.focus(); return false; } s = s1 + s2 + s3; //연속번호 검사 var c0 = s.substring(0,1); var c1 = s.substring(1,2); var c2 = s.substring(2,3); var c3 = s.substring(3,4); var c4 = s.substring(4,5); var c5 = s.substring(5,6); var c6 = s.substring(6,7); var c7 = s.substring(7,8); var c8 = s.substring(8,9); var c9 = s.substring(9,10); //alert(c0+" "+c1+" "+c2+" "+c3+" "+c4+" "+c5+" "+c6+" "+c7+" "+c8+" "+c9) if(c0=="1"&&eval(c0)+1==eval(c1)&&eval(c0)+2==eval(c2)&&eval(c0)+3==eval(c3)&&eval(c0)+4==eval(c4)&&eval(c0)+5==eval(c5)&&eval(c0)+6==eval(c6)&&eval(c0)+7==eval(c7)&&eval(c0)+8==eval(c8)) { alert("올바른 사업자등록번호가 아닙니다."); return false; } if(c0==c1&&c0==c2&&c0==c3&&c0==c4&&c0==c5&&c0==c6&&c0==c7&&c0==c8&&c0==c9) { alert("올바른 사업자등록번호가 아닙니다.."); return false; } return true; } //아이디 유효성 검사 function checkID(sUserID) { var idStr = sUserID.value; if ( !checkLenEng(sUserID, "아이디", 6, 15) ) { return false; } if (!checkType(sUserID, SALPHA+NUM)) { alert("아이디는 영문 소문자와 숫자를 혼합하여 작성해야 합니다."); sUserID.focus(); return false; } /* if ( NUM.indexOf(idStr.charAt(0)) >= 0) { alert("아이디의 첫 글자는 꼭 영문 소문자로 작성해야 합니다."); sUserID.focus(); return false; } */ var isAlpha = false; for(var i=0; i=0) isAlpha = true; } if ( isAlpha == false) { alert("아이디는 영문 1자 이상을 포함해야 합니다."); sUserID.focus(); return false; } if (idStr.indexOf("admin") >= 0 || idStr.indexOf("guest") >= 0 || idStr.indexOf("nps") >= 0 || idStr.indexOf("manage") >= 0 || idStr.indexOf("master") >= 0 || idStr.indexOf("email") >= 0) { //alert(idStr + " 은 아이디로 사용할 수 없습니다.\n\n다른 아이디를 입력해 주시기 바랍니다."); alert("이미 사용중인 아이디 입니다."); sUserID.focus(); return false; } return true; } //비밀번호 유효성 검사 function checkPassword(sPass, sRepass) { var pCount=0; var nIsAlpha = 0; var sStr = sPass.value; var rStr = sRepass.value; if (!checkType(sPass, PASSWORD)) { alert("비밀번호는 영문, 숫자 6글자 이상으로 작성해야 합니다."); sPass.focus(); return false; } /* for( var i=0; i= 6 ) { alert("비밀번호는 보안을 위해 연속된 문자열이 포함되지 않게 입력해 주십시오."); sPass.focus(); return false; } } else { pCount = 0; } } } if(sStr.search(editForm.id.value) != -1) { alert("비밀번호는 아이디를 포함한 문자를 사용할 수 없습니다."); sPass.focus(); return false; } */ if (sStr != rStr) { alert("새 비밀번호와 새 비밀번호 확인이 일치하지 않습니다."); sPass.focus(); return false; } return true; } function checkLenKr(s, name, nMin, nMax)//, bIsConsonant) { var str = s.value; var nStrSize = StringSize(str); var cPostN, cPostL; cPostL = "을(를)"; cPostN = "은(는)"; if (nStrSize == 0 && nMin > 0) { alert(name + cPostL + " 입력해 주십시오."); s.focus(); return false; } if (nMin == 0 && nStrSize > nMax) { alert(name + cPostN + " 한글 " + Math.floor(nMax/2) + "자 이하로 입력해 주십시오.\n\n현재 입력된 길이 : " + nStrSize/2 + "자"); s.focus(); return false; } if (nStrSize < nMin || nStrSize > nMax) { alert(name + cPostN + " 한글 " + Math.ceil(nMin/2) + "자 이상, " + Math.floor(nMax/2) + "자 이하로 입력해 주십시오.\n\n현재 입력된 길이 : " + nStrSize/2 + "자"); s.focus(); return false; } return true; } function checkLenEng (s, name, nMin, nMax)//, bIsConsonant) { var str = s.value; var nStrSize = StringSize(str); var cPostN, cPostL; cPostL = "을(를)"; cPostN = "은(는)"; if (nStrSize == 0 && nMin > 0) { alert(name + cPostL + " 입력해 주십시오."); s.focus(); return false; } if (nMin == 0 && nStrSize > nMax) { alert(name + cPostN + " " + nMax + "자 이하로 입력해 주십시오.\n\n현재 입력된 길이 : " + nStrSize + "자"); s.focus(); return false; } if (nStrSize < nMin || nStrSize > nMax) { alert(name + cPostN + " " + nMin + "자 이상, " + nMax + "자 이하로 입력해 주십시오.\n\n현재 입력된 길이 : " + nStrSize + "자"); s.focus(); return false; } return true; } function checkBAN (s, ban) { var str = s.value; var i; for(i=0; i= 0) { alert("사용 할 수 없는 문자나 공백이 있습니다."); s.focus(); return false; } } return true; } function checkType(s, spc) { var str = s.value; var i; for(i=0; i 255 ) { len += 2; } else { len ++; } } return len; } // 한글인지 체크 function isHangul (obj) { //if (obj.type == object) { var str = obj.value; var retCode=0; for(i=0; i"9") && (ch<"A" || ch>"Z") && ((code>255) || (code<0))) { return true; } } return false; //} else { // return isHangul2(obj); //} } // 한글인지 아닌지 구별 function isHangul2(s) { var len; len = s.length; for (var i = 0; i < len; i++) { if (s.charCodeAt(i) != 32 && (s.charCodeAt(i) < 44032 || s.charCodeAt(i) > 55203)) return false; } return true; } //외국인 등록번호검사 function checkFgnID22(oFirst, oLast) { var sRidfirst = oFirst.value; var sRidlast = oLast.value; var sRid = oFirst.value + oLast.value; var ntyear = sRidlast.substring(0,1); //7번째 자리수 체크 var ntmonth = sRidfirst.substring(2,4); var ntday = sRidfirst.substring(4,6); var fgnNum = sRidlast.substring(5,6); //12번째 자리수 체크 if(sRidfirst.length<6 || Number(ntmonth)<=0 || Number(ntday)<=0){ //alert("외국인등록번호 앞부분이 잘못되었습니다."); //oFirst.focus(); return false; } if(sRid.lstength<7 || (ntyear != 5 && ntyear != 6 && ntyear != 7 && ntyear != 8) || (fgnNum != 7 && fgnNum != 8 && fgnNum != 9)){ //alert("외국인등록번호 앞부분이 잘못되었습니다."); //oLast.focus(); return false; } var iChekBit = parseInt(sRid.substring(12,13)); var iCheck = (13- ((parseInt(sRid.substring(0,1)) * 2) + (parseInt(sRid.substring(1,2)) * 3) + (parseInt(sRid.substring(2,3)) * 4) + (parseInt(sRid.substring(3,4)) * 5) + (parseInt(sRid.substring(4,5)) * 6) + (parseInt(sRid.substring(5,6)) * 7) + (parseInt(sRid.substring(6,7)) * 8) + (parseInt(sRid.substring(7,8)) * 9) + (parseInt(sRid.substring(8,9)) * 2) + (parseInt(sRid.substring(9,10)) * 3) + (parseInt(sRid.substring(10,11)) * 4) + (parseInt(sRid.substring(11,12)) * 5)) % 11 ) % 10 ; if (iChekBit != iCheck) { //alert("외국인등록번호가 올바르지 않습니다."); //oFirst.focus(); return false; } return true; } //주민번호검사 function checkJuminNo22(sRIDFirst, sRIDLast) { var jumin1 = sRIDFirst.value; var jumin2 = sRIDLast.value; //alert(jumin1 + "-" + jumin2); var chk = 0; var nYear = jumin1.substring(0,2); var nMondth = jumin1.substring(2,4); var nDay = jumin1.substring(4,6); var nSex = jumin2.charAt(0); var ntyear = jumin2.substring(0,1); //7번째 자리수 체크 if ( !checkType(sRIDFirst, NUM) || (jumin1.length!=6 || nMondth<1 || nMondth>12 || nDay<1 || nDay>31) ) { //alert("주민등록번호 앞부분이 잘못되었습니다."); //sRIDFirst.focus(); return false; } if ( !checkType(sRIDLast, NUM) ) { //alert("주민등록번호 뒷부분이 잘못되었습니다."); //sRIDLast.focus(); return false; } if ( (jumin2.length!=7 || (nSex!=1 && nSex!=2 && nSex!=3 && nSex!=4)) || (ntyear == 5 || ntyear == 6 || ntyear == 7 || ntyear == 8) ) { //alert("주민등록번호 뒷부분이 잘못되었습니다.."); //sRIDLast.focus(); return false; } var i; for (i=0; i<6; i++) { chk += ( (i+2) * parseInt( jumin1.charAt(i) )); } for (i=6; i<12; i++) { chk += ( (i%8+2) * parseInt( jumin2.charAt(i-6) )); } chk = 11 - (chk%11); chk %= 10; if (chk != parseInt( jumin2.charAt(6))) { //alert("유효하지 않은 주민등록번호입니다."); //sRIDFirst.focus(); return false; } return true; } function checkJuminNoVal(jumin1, jumin2) { var chk = 0; var nYear = jumin1.substring(0,2); var nMondth = jumin1.substring(2,4); var nDay = jumin1.substring(4,6); var nSex = jumin2.charAt(0); var ntyear = jumin2.substring(0,1); //7번째 자리수 체크 if ( jumin1.length!=6 || nMondth<1 || nMondth>12 || nDay<1 || nDay>31 ) { var sMsg = "주민등록번호 앞부분이 잘못되었습니다."; if(typeof gLang !="undefined"){ if(gLang=="ENGLISH") sMsg="The former part of the resident registration number is invalid. "; else if(gLang=="CHINESE") sMsg="外国人登录证号码的前部分有错误。"; } alert(sMsg); return false; } if (nSex!=5 && nSex!=6) { if ( (jumin2.length!=7 || (nSex!=1 && nSex!=2 && nSex!=3 && nSex!=4)) || (ntyear == 5 || ntyear == 6 || ntyear == 7 || ntyear == 8) ) { var sMsg = "주민등록번호 뒷부분이 잘못되었습니다."; if(typeof gLang !="undefined"){ if(gLang=="ENGLISH") sMsg="The latter part of the resident registration number is invalid. "; else if(gLang=="CHINESE") sMsg="外国人登录证号码的后部分有错误。"; } alert(sMsg); return false; } /* var i; for (i=0; i<6; i++) { chk += ( (i+2) * parseInt( jumin1.charAt(i) )); } for (i=6; i<12; i++) { chk += ( (i%8+2) * parseInt( jumin2.charAt(i-6) )); } chk = 11 - (chk%11); chk %= 10; if (chk != parseInt( jumin2.charAt(6))) { var sMsg ="유효하지 않은 주민등록번호입니다."; if(typeof gLang !="undefined"){ if(gLang=="ENGLISH") sMsg="It is an invalid resident registration number. "; else if(gLang=="CHINESE") sMsg="无效的外国人登录证号码。"; } alert(sMsg); return false; } */ } return true; }