프로그램을 작성하기 전에 먼저 ID 번호 구성을 이해해 봅시다.
ID번호는 2가지 종류가 있는데 기존 15자리, 새 18자리입니다.
신분증 15자리 인코딩 규칙 : dddddd yymmdd xx p
그 중 dddddd: 지역번호 yymmdd: 생년월일 xx: 연속코드, 판별불가 p: 성별, 홀수는 남성, 짝수는 여성
ID 카드 18비트 인코딩 규칙: dddddd yyyymmdd xxx y
그 중 dddddd: 지역번호 yyyymmdd: 생년월일 xxx: 순차코드, 알 수 없음, 홀수는 남성, 짝수는 여성 y: 코드 확인, 이 숫자의 값은 다음과 같이 얻을 수 있습니다. 처음 17자리 계산, 계산식 사용해야 할 상수:
프로그램 참조18자리 숫자의 가중치는 (오른쪽에서 왼쪽으로) Wi = [ 7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2,1 ] 검증 비트 Y = [ 1, 0, 10, 9, 8, 7, 6, 5, 4, 3 , 2 ] 숫자 계산 공식 확인: Y_P = mod( ∑(Ai×Wi),11 )
i는 오른쪽에서 왼쪽으로 ID 카드 번호 2~18자리입니다. Y_P는 풋 체크 코드가 있는 체크 코드 배열의 위치입니다.
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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 |
|
주민번호로 성별 판별
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
|
위는 주민등록번호를 인증하기 위한 자바스크립트의 구체적인 구현 방법인데, 주민등록번호를 기준으로 성별을 인증할 수 있다는 점, 정말 놀랍지 않나요?