리자

[문제] 우리나라 주민등록번호를 모두 만족하는 정규표현식을 가장 짧게 작성해 주세요.

 
1800년대
남자 : 981231-9123456
여자 : 950101-0123456
 
1900년대
남자 : 580728-1012345
여자 : 791209-2982827
 
2000년대
남자 : 091208-3291828
여자 : 111111-4292383
 
13번째의 숫자 check digit 는 따지지 않습니다.
 
위의 주민등록번호를 예로 들어 가장 짧게 검사하는 정규표현식을 작성해 주세요.
 
년도는 숫자 두자리면 모두 통과됩니다.
 
월과 일은 정확하게 따지지만 윤년은 따지지 않습니다.
 
7번째 자리는 정확하게 따집니다.
|

댓글 19개

ㅎㄷㄷㄷㄷ
<?php

$str = '091220-3291828';

preg_match("`^\d{2}((0[1,3,5,7,8]((0[1-9])|([1,2][0-9])|30|31))|(0[4,6,9]((0[1-9])|([1,2][0-9])|30))|((10|12)((0[1-9])|([1,2][0-9])|30|31))|(11((0[1-9])|([1,2][0-9])|30))|(02((0[1-9])|([1,2][0-9]))))-[9,0,1,2,3,4]\d{6}$`", $str, $m);

print_r($m);

?>

이게 의미가 있는지 모르겟지만 ......
아무튼 이렇게 되지 않을까 싶습니다.

2월달은 29일까지 체크되게 햇습니다.
preg_match("`^\d{2}(((0[1,3,5,7,8]|10|12)((0[1-9])|([1,2][0-9])|30|31))|((0[4,6,9]|11)((0[1-9])|([1,2][0-9])|30))|(02((0[1-9])|([1,2][0-9]))))-[9,0,1,2,3,4]\d{6}$`", $str, $m);
preg_match("`^\d{2}(((0[13578]|10|12)((0[1-9])|([12][0-9])|30|31))|((0[469]|11)((0[1-9])|([12][0-9])|30))|(02((0[1-9])|([12][0-9]))))-[901234]\d{6}$`", $str, $m);
오늘 자정까지 아무도 안계시면 유창화님 Win 으로 하겠습니다.
\d{2}
(
(
(0[13578]|1[02])(0[1-9]|[12][0-9]|3[01])
)
|
(
(02)(0[1-9]|1[0-9]|2[0-9])
)
)
\-
[901234]\d{6}

저도 2월은 29일 까지로 했습니다.
돌려보질 않아 맞는지는 모르겠습니다.
제가, 넣는것으로 착각했네요
그런데 관리자님꺼 30일짜리가 안보이는것 같습니다
가만
(0[1-9]|[12][0-9]|3[01])
이거 30 이 안나오는 건가요?
아뇨 4 6 9 11 월 체크하는 부분이 없다는 뜻입니다
문제에서 월과 일은 정확하게 따진다고 했으므로 틀린답이네요.
문제가 좀 그렇네요. ㅠㅠ
YOU WIN!!! ★★★★★
상금은 없/습/니/다 (개콘 버전)
움... 외계어인가요? ㅡㅡ;
댓글을 작성하시려면 로그인이 필요합니다.

프로그램

8,188건
+
제목 글쓴이 날짜 조회
12-04-26 조회 3,847
12-04-24 조회 3,236
12-04-23 조회 4,572
12-04-22 조회 3,260
12-04-19 조회 3,348
12-04-18 조회 4,410
12-04-18 조회 3,110
12-04-17 조회 3,383
12-04-17 조회 5,142
12-04-16 조회 3,561
12-04-13 조회 3,109
12-04-09 조회 3,170
12-04-04 조회 3,945
12-04-01 조회 3,219
12-03-31 조회 3,621
12-03-30 조회 3,228
12-03-30 조회 3,890
12-03-26 조회 3,503
12-03-26 조회 3,082
12-03-22 조회 3,232
12-03-21 조회 3,081
12-03-19 조회 3,500
12-03-17 조회 3,519
12-03-14 조회 3,251
12-03-10 조회 3,929
12-03-09 조회 3,521
12-03-09 조회 3,339
12-03-08 조회 3,817
12-03-08 조회 3,985
12-03-08 조회 4,074
12-03-03 조회 3,335
12-03-02 조회 4,658
12-02-28 조회 3,188
12-02-27 조회 3,008
12-02-25 조회 3,150
12-02-24 조회 3,858
12-02-23 조회 3,125
12-02-22 조회 3,644
12-02-22 조회 5,406
12-02-22 조회 3,983
12-02-22 조회 4,299
12-02-18 조회 3,798
12-02-17 조회 3,017
12-02-17 조회 3,425
12-02-14 조회 3,495
12-02-13 조회 3,379
12-02-10 조회 1만
12-02-08 조회 3,039
12-02-07 조회 3,377
12-02-06 조회 3,104
12-02-05 조회 3,569
12-01-31 조회 3,492
12-01-30 조회 9,676
12-01-29 조회 3,838
12-01-26 조회 3,434
12-01-25 조회 4,049
12-01-24 조회 3,438
12-01-10 조회 3,750
12-01-10 조회 4,511
12-01-09 조회 3,287
12-01-08 조회 7,147
12-01-08 조회 3,668
12-01-07 조회 5,196
12-01-04 조회 3,899
12-01-02 조회 3,127
12-01-02 조회 3,181
12-01-02 조회 3,481
12-01-01 조회 3,118
11-12-31 조회 3,427
11-12-31 조회 3,111
11-12-30 조회 3,275
11-12-30 조회 3,430
11-12-29 조회 3,643
11-12-28 조회 3,731
11-12-26 조회 3,307
11-12-23 조회 3,527
11-12-22 조회 3,063
11-12-15 조회 4,162
11-12-08 조회 3,971
11-12-05 조회 3,310
11-12-04 조회 5,725
11-12-03 조회 3,600
11-12-02 조회 3,373
11-12-01 조회 5,443
11-11-30 조회 2,924
11-11-30 조회 2,827
11-11-28 조회 3,170
11-11-26 조회 3,359
11-11-25 조회 3,369
11-11-24 조회 2,964
11-11-22 조회 3,061
11-11-22 조회 2,902
11-11-17 조회 2,837
11-11-11 조회 2,831
11-11-09 조회 2,887
11-11-08 조회 3,265
11-11-08 조회 2,559
11-11-04 조회 3,642
11-11-01 조회 2,949
11-10-26 조회 2,536