본문 바로가기
page 2 .기타공유/생활방식

주민등록번호, 외국인등록번호 검증하기

by 나의나된것은 2016. 9. 30.
반응형

주민등록번호나 외국인 등록번호를 검증을 해야 한다.


예를 들어 봅니다. 

123456-7891230 (이게 주민등록번호라고 합시다)

234567-892345 (이게 상수값입니다.)


주민등록번호와 상수값을 곱합니다. (마지막 자리는 나중에 확인하는 용도 입니다)



(1*2) + (2*3) + (3*4) + (4*5) + (5*6) + (6*7) + (7*8) + (8*9) + (9*2) + (1*3) + (2*4) + (3*5) = 284


284를 11로 나누어 나머지를 구합니다. 그럼 11 (보통 mod(284,11))


그리고 11-11 = 0 이면 그럼 마지막 자리는 0 똑같네요~


여기서  나눈 값이 

11-0 => 11이 나오면 1 (마지막 자리 1)

11-1 => 10이 나오면 0 (마지막 자리 0)


11-(mod(284,11)) 값을 구하고, 9보다 크면 -10을 하면 됩니다.


이때~ 외국인이면 13-(mod(284,11))을 하구, 9보다 크면 -10을 해야 합니다.




엑셀의 예입니다. (내국인)

=IF(RIGHT(A1,1)=RIGHT(11-MOD(MID(A1,1,1)*2+MID(A1,2,1)*3+MID(A1,3,1)*4+MID(A1,4,1)*5+MID(A1,5,1)*6+MID(A1,6,1)*7+MID(A1,7,1)*8+MID(A1,8,1)*9+MID(A1,9,1)*2+MID(A1,10,1)*3+MID(A1,11,1)*4+MID(A1,12,1)*5,11),1),"O","X")


엑셀의 예입니다. (외국인)


=IF(RIGHT(A1,1)=RIGHT(13-MOD(MID(A1,1,1)*2+MID(A1,2,1)*3+MID(A1,3,1)*4+MID(A1,4,1)*5+MID(A1,5,1)*6+MID(A1,6,1)*7+MID(A1,7,1)*8+MID(A1,8,1)*9+MID(A1,9,1)*2+MID(A1,10,1)*3+MID(A1,11,1)*4+MID(A1,12,1)*5,11),1),"O","X")




반응형