// 주민등록번호 체크 function chkSsn(s1, s2) { var ss1 = s1.value; var ss2 = s2.value; var val1 = 0; if(ss2 != "") { var tmp = ss2.substring(0,1); // 외국인인 경우 if((tmp==5) || (tmp==6) || (tmp==7) || (tmp==8) || (tmp==9)) { return isFrgNo(ss1+ss2); } } for(var i=0; i "9") { val1 = val1 + 1; } } if ((ss1 == "") || ( val1 != 0 )) { alert("유효한 주민등록번호가 아닙니다."); s1.select(); return false; } var val2=0; for (var i=0; i "9") { val2 = val2 + 1 ; } } if ((ss2 == "") || ( val2 != 0 )) { alert("유효한 주민등록번호가 아닙니다."); s2.select(); return false; } var h1 = ss1.substring(0,1); var h2 = ss1.substring(1,2); var h3 = ss1.substring(2,3); var h4 = ss1.substring(3,4); var h5 = ss1.substring(4,5); var h6 = ss1.substring(5,6); var sum = h1*2+h2*3+h3*4+h4*5+h5*6+h6*7; var t1 = ss2.substring(0,1); var t2 = ss2.substring(1,2); var t3 = ss2.substring(2,3); var t4 = ss2.substring(3,4); var t5 = ss2.substring(4,5); var t6 = ss2.substring(5,6); var t7 = ss2.substring(6,7); sum = sum+t1*8+t2*9+t3*2+t4*3+t5*4+t6*5; sum = sum%11; sum = 11-sum; sum = sum%10; if (sum != t7) { alert("유효한 주민등록번호가 아닙니다."); return false; } return true; } // 외국인 번호 체크 function isFrgNo(fgnno) { var sum = 0; var odd = 0; buf = new Array(13); for(i=0; i<13; i++) buf[i] = parseInt(fgnno.charAt(i)); odd = buf[7]*10 + buf[8]; if(odd%2 != 0) { alert("거소증 번호가 잘못 입력되었습니다."); return false; } // if((buf[11]!=6) && (buf[11]!=7) && (buf[11]!=8) && (buf[11]!=9)) return false; 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]) { alert("거소증 번호가 잘못 입력되었습니다."); return false; } return true; }