티스토리 뷰
Planning
1. 대한민국 주민등록번호 생성 원칙.
주민등록번호 : ABCDEF - GHIJKLM
- AB - 출생 년도
- CD - 출생 달
- EF - 출생 일
- G - 성별(1은 남자 2는 여자)
- HIJKL - 본적 주소
- M - 유효성 식별자
2. 유효성 검사 공식.
- A ~ L 까지 각 자리에 2, 3, 4, 5, 6, 7, 8 ,9, 2, 3, 4, 5 를 곱한 후 모두 더한다.
- 위의 값에 11로 나눈 나머지값을 구한다.
- 11에서 나머지 값을 뺀다.
- 위의 값에 10으로 나눈 나머지값을 구한다. (두 자릿수일 경우 한 자릿수로 만들어 주기 위함.)
- 11에서 나머지값을 뺀다.
- 위의 값을 M과 비교한다. (동일할 경우 유효한 주민등록번호)
3. Prototype
Code
-
html
<html>
<head></head>
<body>
<form method="post" action="check.php">
<table width="300" border="1">
<td bgcolor="yellow">
<font>주민등록번호 :</font>
<input type="text" name="num" size="6" maxlength="6" />
<font> - </font>
<input type="text" name="ber" size="7" maxlength="7" />
</td>
</table>
<p>
<input type="submit" value="번호체크하기" />
<input type="reset" value="다시입력"/>
</p>
</form>
</body>
</html>
- php
<?php
if(!(strlen($_POST['num']) == 6) && (strlen($_POST['ber']) == 7)) {
echo ("
<script>
alert('올바른 입력이 아닙니다.');
history.go(-1);
</script>
");
} else {
$total = 0;
$id = $_POST['num'].$_POST['ber'];
for($i=0, $j=2; $i < 13; $i++, $j++){
$id[$i] = intval($id[$i]);
if($j == 10) { $j=2; }
if($i != 12){
$total += $id[$i]*$j;
} else {
$keynum = (11-($total % 11))%10;
}
}
if($keynum == $id[12]) {
echo("
<script>
alert('올바른 주민등록번호입니다.');
close();
</script>
");
}
else {
echo ("
<script>
alert('올바른 주민등록번호가 아닙니다.');
history.go(-1);
</script>
");
}
}
?>
Description
- html
form 태그를 이용해서 입력받은 주민등록번호를 POST방식으로 php파일에 넘긴다.
- php
POST방식으로 넘겨받은 주민등록번호를 유효성 검사 공식을 통해 유효한 주민등록번호인지를 판단한 후 결과를 알림 창으로 출력한다. 만약 번호의 길이가 맞지 않거나 유효하지 않은 소스라면 다시 입력 화면으로 돌아가게 만든다.
'Programming > PHP' 카테고리의 다른 글
| PHP :: PHP소개 (0) | 2012.11.03 |
|---|
댓글
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- Android
- android studio
- 코틀린
- 개발자
- 안드로이드 컴포즈
- php
- 안드로이드 스튜디오 라이브 템플릿
- Java
- 영어회화
- Kotlin
- compose bottomsheet
- Programming
- 프로그래밍
- 코딩문제
- 안드로이드 스튜디오
- kotlin 기초
- 자바
- 안드로이드 바텀시트
- 안스 템플릿
- 코딩
- 런탭
- 코틀린 기초
- 프로젝트오일러
- 코틀린 기초강의
- live template
- 문제풀이
- 영어발음
- 컴포즈 바텀시트
- LiveTemplate
- 안드로이드
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |
글 보관함