주민등록번호를 추출하는 정규식 정보
기타 주민등록번호를 추출하는 정규식본문
yymmdd-1234567
년도는 00 ~ 99 사이 이므로
[0-9]{2}
월은 01 ~ 12 사이 이므로
0[1-9] 또는 1[012]
일은 01 ~ 31 사이 이므로 (작은달 30일, 큰달 31일, 윤년 28일 등의 계산은 넣지 않는것으로 함)
0[1-9] 또는 1[0-9] 또는 2[0-9] 또는 3[01]
숫자6자리와 숫자7자리 사이의 - 는 없을수도 있으므로
-?
뒷7자리 숫자의 첫자리는 성별을 나타내는데
1800년대 : 남자 9 , 여자 0
1900년대 : 남자 1 , 여자 2
2000년대 : 남자 3 , 여자 4
[012349]
성별 뒤의 5자리 숫자는 주소지? 등을 나타내므로
[0-9]{5}
마지막의 숫자는 앞의 숫자가 유효한지를 나타내는 check digit 를 나타내지만 정규식에서 체크하는 것은 한계가 있으므로
[0-9]
조합을 해보면
[0-9]{2}(0[1-9]|1[012])(0[1-9]|1[0-9]|2[0-9]|3[01])-?[012349][0-9]{6}
으로 나타낼 수 있습니다.
그러나 유효성 검사등이 완벽한 것은 아니므로 간단하게 검사하고자 할때만 사용해야 하며,
실명인증에서 사용해서는 안되는 코드입니다.<div class='small'>[이 게시물은 관리자님에 의해 2011-10-31 17:16:08 PHP & HTML에서 이동 됨]</div>
년도는 00 ~ 99 사이 이므로
[0-9]{2}
월은 01 ~ 12 사이 이므로
0[1-9] 또는 1[012]
일은 01 ~ 31 사이 이므로 (작은달 30일, 큰달 31일, 윤년 28일 등의 계산은 넣지 않는것으로 함)
0[1-9] 또는 1[0-9] 또는 2[0-9] 또는 3[01]
숫자6자리와 숫자7자리 사이의 - 는 없을수도 있으므로
-?
뒷7자리 숫자의 첫자리는 성별을 나타내는데
1800년대 : 남자 9 , 여자 0
1900년대 : 남자 1 , 여자 2
2000년대 : 남자 3 , 여자 4
[012349]
성별 뒤의 5자리 숫자는 주소지? 등을 나타내므로
[0-9]{5}
마지막의 숫자는 앞의 숫자가 유효한지를 나타내는 check digit 를 나타내지만 정규식에서 체크하는 것은 한계가 있으므로
[0-9]
조합을 해보면
[0-9]{2}(0[1-9]|1[012])(0[1-9]|1[0-9]|2[0-9]|3[01])-?[012349][0-9]{6}
으로 나타낼 수 있습니다.
그러나 유효성 검사등이 완벽한 것은 아니므로 간단하게 검사하고자 할때만 사용해야 하며,
실명인증에서 사용해서는 안되는 코드입니다.<div class='small'>[이 게시물은 관리자님에 의해 2011-10-31 17:16:08 PHP & HTML에서 이동 됨]</div>
추천
0
0
댓글 1개
정말 간단하게 사용하시려면
\d{6}-?\d{7}
\d{6}-?\d{7}