var1에 본인 주민번호를 입력후 확인해보세요..
DATA BACK;
LENGTH TVAR $6.;
ARRAY BACK1{*} JUMIN1-JUMIN13;
ARRAY BACK2{*} CHVAR1-CHVAR13;
ARRAY BACK3{*} THVAR1-THVAR13;
VAR1 = '8808081051011'; * 주민번호;
VAR2 = '2345678923450'; * 점검번호;
DO i = 1 TO 13;
BACK1{i} = PUT(SUBSTR(VAR1,i,1),2.);
BACK2{i} = PUT(SUBSTR(VAR2,i,1),2.);
BACK3{i} = BACK1{i}*BACK2{i};
END;
CSUM_VAR = MOD(11-MOD(SUM(OF THVAR:),11),10);
IF JUMIN13 = CSUM_VAR THEN TVAR = '유효';
ELSE TVAR = '비유효';
KEEP VAR1 TVAR;
RUN;
****************************************************************;
주민번호를 입력받을 때 입력하는 주민번호가 유효한 번호인지를 검사할 수 있습니다.
방법은 제일 주민번호의 제일 마지막 번호를 가지고 체크가 가능한데... 다음과 같은 방법으로 검사합니다.
점검번호 2 3 4 5 6 7 8 9 2 3 4 5
주민번호 7 2 0 1 0 1 - 1 1 1 1 1 1 1
위의 그림에서 주민번호의 각 자리마다 점검번호가 정해져 있습니다.
1. 점검번호와 주민번호의 해당 위치를 서로 곱하여 더합니다.
2. 더한 값을 11로 나누고 난 나머지를 구합니다.
3. 나머지 값을 11에서 뺍니다.
4. 이렇게 결과로 나온 값이 주민번호의 제일 마지막 자리와 일치하여야 정상적인 주민번호입니다.
Join us for SAS Innovate 2025, our biggest and most exciting global event of the year, in Orlando, FL, from May 6-9. Sign up by March 14 for just $795.