BookmarkSubscribeRSS Feed

[SAS 프로그래밍 고수 백승민] [주민번호] 주민등록번호의 유효성 검사

Started ‎06-11-2020 by
Modified ‎06-11-2020 by
Views 104

* 참고 : http://www.nicklib.com/bbs/board.php?bo_table=bbs_script&wr_id=67&sfl=&stx=&sst=wr_hit&sod=desc&sop=...;

 

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. 이렇게 결과로 나온 값이 주민번호의 제일 마지막 자리와 일치하여야 정상적인 주민번호입니다.

Version history
Last update:
‎06-11-2020 05:39 AM
Updated by:
Contributors

sas-innovate-wordmark-2025-midnight.png

Register Today!

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.


Register now!

Article Labels
Article Tags