티스토리 뷰
function check_juminno(juminno) { if(juminno=="" || juminno==null || juminno.length!=13) { alert("주민등록번호를 적어주세요."); document.form1.jumin_num.value=""; document.form1.jumin_num.focus(); return false; } var jumin1 = juminno.substr(0,6); var jumin2 = juminno.substr(6,7); var yy = jumin1.substr(0,2); // 년도 var mm = jumin1.substr(2,2); // 월 var dd = jumin1.substr(4,2); // 일 var genda = jumin2.substr(0,1); // 성별 var msg, ss, cc; // 숫자가 아닌 것을 입력한 경우 if (!isNumeric(jumin1)) { alert("주민등록번호 앞자리를 숫자로 입력하세요."); document.form1.jumin_num.value=""; document.form1.jumin_num.focus(); return false; } // 길이가 6이 아닌 경우 if (jumin1.length != 6) { alert("주민등록번호 앞자리를 다시 입력하세요."); document.form1.jumin_num.value=""; document.form1.jumin_num.focus(); return false; } // 첫번째 자료에서 연월일(YYMMDD) 형식 중 기본 구성 검사 if (yy < "00" || yy > "99" || mm < "01" || mm > "12" || dd < "01" || dd > "31") { alert("주민등록번호 앞자리를 다시 입력하세요."); document.form1.jumin_num.value=""; document.form1.jumin_num.focus(); return false; } // 숫자가 아닌 것을 입력한 경우 if (!isNumeric(jumin2)) { alert("주민등록번호 뒷자리를 숫자로 입력하세요."); document.form1.jumin_num.value=""; document.form1.jumin_num.focus(); return false; } // 길이가 7이 아닌 경우 if (jumin2.length != 7) { alert("주민등록번호 뒷자리를 다시 입력하세요."); document.form1.jumin_num.value=""; document.form1.jumin_num.focus(); return false; } // 성별부분이 1 ~ 4 가 아닌 경우 if (genda < "1" || genda > "4") { alert("주민등록번호 뒷자리를 다시 입력하세요."); document.form1.jumin_num.value=""; document.form1.jumin_num.focus(); return false; } // 연도 계산 - 1 또는 2: 1900년대, 3 또는 4: 2000년대 cc = (genda == "1" || genda == "2") ? "19" : "20"; // 첫번째 자료에서 연월일(YYMMDD) 형식 중 날짜 형식 검사 if (isYYYYMMDD(parseInt(cc+yy), parseInt(mm), parseInt(dd)) == false) { alert("주민등록번호 앞자리를 다시 입력하세요."); document.form1.jumin_num.value=""; document.form1.jumin_num.focus(); return false; } // Check Digit 검사 if (!isSSN(jumin1, jumin2)) { alert("입력한 주민등록번호를 검토한 후, 다시 입력하세요."); document.form1.jumin_num.value=""; document.form1.jumin_num.focus(); return false; } return true; } function isYYYYMMDD(y, m, d) { switch (m) { case 2: // 2월의 경우 if (d > 29) return false; if (d == 29) { // 2월 29의 경우 당해가 윤년인지를 확인 if ((y % 4 != 0) || (y % 100 == 0) && (y % 400 != 0)) return false; } break; case 4: // 작은 달의 경우 case 6: case 9: case 11: if (d == 31) return false; } // 큰 달의 경우 return true; } function isNumeric(s) { for (i=0; i<s.length; i++) { c = s.substr(i, 1); if (c < "0" || c > "9") return false; } return true; } function isSSN(s1, s2) { n = 2; sum = 0; for (i=0; i<s1.length; i++) sum += parseInt(s1.substr(i, 1)) * n++; for (i=0; i<s2.length-1; i++) { sum += parseInt(s2.substr(i, 1)) * n++; if (n == 10) n = 2; } c = 11 - sum % 11; if (c == 11) c = 1; if (c == 10) c = 0; if (c != parseInt(s2.substr(6, 1))) return false; else return true; }
'IT 관련 > FrontEnd' 카테고리의 다른 글
커서모양 :: CURSOR (0) | 2009.03.26 |
---|---|
class 선택 :: getElementByClass (0) | 2009.03.15 |
메타태그 (0) | 2009.03.12 |
TAG :: FORM (0) | 2009.03.11 |
TAG :: Table (0) | 2009.03.11 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- 짬뽕
- react
- MySQL
- 횟집
- 플스
- 원어데이
- 일식
- 그리스몽키
- code
- 윈도우7
- Firefox
- 진례
- Mac
- 창원
- Linux
- 마산
- 먹는게 남는다
- 인터넷 속도
- window7
- 지름신
- ubuntu
- html tag
- 김해
- 아이폰
- Flash
- 불여우
- 버그가많아
- 파이어폭스
- java
- SQL
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
글 보관함