Q&A
HOME
Tips & Tech
Q&A
Discuss
Download
자유게시판
홍보 / 광고
구인 / 구직
LOGIN
회원가입
주민등록번호 검증하는 방법................
안녕하세요...
입력받은 주민등록번호가 정확한건지 체크할수 있는 방법을
알고 싶거든요.
많은 관심 부탁드리구요. 좋은 하루 되세요...*^^*
3
COMMENTS
사발우성
•
2000.05.26 19:51
김보영 wrote:
> 안녕하세요...
> 입력받은 주민등록번호가 정확한건지 체크할수 있는 방법을
> 알고 싶거든요.
> 많은 관심 부탁드리구요. 좋은 하루 되세요...*^^*
팁을 찾았슴당....^^ 즐거운 하루 돼셔유
1. 주민번호 체크 알고리즘
주민번호 예: 710522-1667819
체크방법:
(1) 주민번호 각각의 수에 다음과 같은 수를 곱하여 더한다.
7 1 0 5 2 2 - 1 6 6 7 8 1 9 <-> ok !
2. 성별 구문
주민번호의 하이픈(-)다음의 첫번째 수가 1이면 남자, 2이면 여자임.
3. 나이 계산
주민번호의 처음부터 2개이 수가 태어난 년수이므로
현재 년에서 빼서 1을 더해줌.
function SSNoCheck(ssno:string;var gender:String;var age:byte):boolean;
var
DateStr,YearStr:string;
BirthYear:Byte;
tval:integer;
tval2:integer;
begin
tval:=StrToInt(ssno[1])*2 + StrToInt(ssno[2])*3 + StrToInt(ssno[3])*4
+ StrToInt(ssno[4])*5 + StrToInt(ssno[5])*6 + StrToInt(ssno[6])*7
+ StrToInt(ssno[8])*8+ StrToInt(ssno[9])*9 + StrToInt(ssno[10])*2
+ StrToInt(ssno[11])*3 + StrToInt(ssno[12])*4 + StrToInt(ssno[13])*5;
tval2:=11- (tval mod 11);
if (StrToInt(ssno[14])=tval2) and (ssno[8] in ['1','2']) then
SSNoCheck:=true
else
SSnoCheck:=false;
//성별구분
if ssno[8]='1' then gender:='남'
else if ssno[8]='2' then gender:='여';
//나이 계산
Birthyear:=StrToInt(copy(ssno,1,2));
DateStr:=DateToStr(now);
YearStr:=copy(dateStr,1,2);
age:=StrToInt(YearStr)-BirthYear+1;
end;
0
0
삭제
수정
댓글
강호규
•
2001.04.20 06:26
약간의 버그가 있는 것 같아 글을 올립니다.
tval2 = 10 일 경우를 감안하지 않았군요
[기존]
tval2 := 11 - (tval mod 11);
[수정]
tval2 := 11 - (tval mod 11);
tval2 := StrToInt(Copy(IntToStr(tval2),Length(IntToStr(tval2)),1));
이렇게 하면 정확한 값이 검사되네요...
사발우성 wrote:
> 김보영 wrote:
> > 안녕하세요...
> > 입력받은 주민등록번호가 정확한건지 체크할수 있는 방법을
> > 알고 싶거든요.
> > 많은 관심 부탁드리구요. 좋은 하루 되세요...*^^*
>
> 팁을 찾았슴당....^^ 즐거운 하루 돼셔유
> 1. 주민번호 체크 알고리즘
> 주민번호 예: 710522-1667819
> 체크방법:
> (1) 주민번호 각각의 수에 다음과 같은 수를 곱하여 더한다.
> 7 1 0 5 2 2 - 1 6 6 7 8 1 9 <-> ok !
> 2. 성별 구문
> 주민번호의 하이픈(-)다음의 첫번째 수가 1이면 남자, 2이면 여자임.
> 3. 나이 계산
> 주민번호의 처음부터 2개이 수가 태어난 년수이므로
> 현재 년에서 빼서 1을 더해줌.
> function SSNoCheck(ssno:string;var gender:String;var age:byte):boolean;
> var
> DateStr,YearStr:string;
> BirthYear:Byte;
> tval:integer;
> tval2:integer;
> begin
> tval:=StrToInt(ssno[1])*2 + StrToInt(ssno[2])*3 + StrToInt(ssno[3])*4
> + StrToInt(ssno[4])*5 + StrToInt(ssno[5])*6 + StrToInt(ssno[6])*7
> + StrToInt(ssno[8])*8+ StrToInt(ssno[9])*9 + StrToInt(ssno[10])*2
> + StrToInt(ssno[11])*3 + StrToInt(ssno[12])*4 + StrToInt(ssno[13])*5;
> tval2:=11- (tval mod 11);
> if (StrToInt(ssno[14])=tval2) and (ssno[8] in ['1','2']) then
> SSNoCheck:=true
> else
> SSnoCheck:=false;
> //성별구분
> if ssno[8]='1' then gender:='남'
> else if ssno[8]='2' then gender:='여';
> //나이 계산
> Birthyear:=StrToInt(copy(ssno,1,2));
> DateStr:=DateToStr(now);
> YearStr:=copy(dateStr,1,2);
> age:=StrToInt(YearStr)-BirthYear+1;
>
> end;
>
>
>
>
0
0
삭제
수정
댓글
사발우성
•
2000.05.26 19:48
김보영 wrote:
> 안녕하세요...
> 입력받은 주민등록번호가 정확한건지 체크할수 있는 방법을
> 알고 싶거든요.
> 많은 관심 부탁드리구요. 좋은 하루 되세요...*^^*
웹에서 찾아 보세요 주민등록계산 하는법을엽.....그럼 간단하지 않나엽....
0
0
삭제
수정
댓글
(NOTICE) You must be
logged in
to comment on this post.
전령
•
2000.05.26 21:38
1
COMMENTS
/
0
LIKES
MoveBy와 퀵리포트에 대한 질문....^^ 클릭 해 주세요.
조규춘
•
2000.05.26 22:42
전령 wrote: > 안냥하셔요....^^ > 질문이 하나 있는데요,,,, > 회원관리 db를 만들어서 레코드 내용 중...
힙합인
•
2000.05.26 21:17
1
COMMENTS
/
0
LIKES
퀵레포트 힌페이지에 반복출력 가능한가요?
손상택
•
2000.05.26 21:54
힙합인 wrote: > 데이테베이스에서위 거래 내용을 읽어와서 퀵레포트에 읽어져서 출력되는건데요 > 보통...
hehe
2000.05.26 20:59
0
COMMENTS
/
0
LIKES
한영전환키 ?
이두진
•
2000.05.26 20:58
2
COMMENTS
/
0
LIKES
[데이터베이스]30건씩 순차적으로 검색하려면요 ?
nilriri
•
2000.05.26 23:52
select * from tablename where rownum = 1; 이렇게 하면 1개의 레코드만 반환됩니다. ronum이라는 걸...
nilriri
•
2000.05.26 23:51
예) select * from tablename where rownum between 1 and 30; 예) select * from tablename where rown...
김길남
•
2000.05.26 21:39
1
COMMENTS
/
0
LIKES
access에서 left join을 여러개 할 때..
ACCESS
•
2000.05.28 01:57
김길남 wrote: > select s.scode, d.dcode, t.tcode > from salesman s left join depart d on s.depart ...
파이공주
•
2000.05.26 20:45
1
COMMENTS
/
0
LIKES
급.고수님들 어케해야합니까.. cab 파일 보안인증 sign이요.
강정한
•
2000.06.14 20:46
파이공주 wrote: > 저는요.. > 첫번째로... activex from을 만들구요.. > deployment하구요.. > > ...
고수님!!
•
2000.05.26 20:35
1
COMMENTS
/
0
LIKES
locate함수 어떻게 쓰죠 ?
손상택
•
2000.05.26 21:21
고수님!! wrote: > locate함수 어떻게 쓰나요 ? 지금 막 거기에 대한 답변을 하고 난 참이었는데... 공...
또 도와주세요...ㅠㅠ
•
2000.05.26 20:27
1
COMMENTS
/
0
LIKES
query 컴포넌트 open했을때..
손상택
•
2000.05.26 21:24
또 도와주세요...ㅠㅠ wrote: > 안녕하세요`~~ > > 음..query콤포넌트를 새로 query1.open;했을 때 > ...
라큐라
2000.05.26 20:12
0
COMMENTS
/
0
LIKES
상태바의 판넬별로 글씨 색깔을 다르게 넣어야 할때..
서향택
2000.05.26 20:10
0
COMMENTS
/
0
LIKES
퀵레포트 메모리문제..(급합니다)
최은석
2000.05.26 20:04
0
COMMENTS
/
0
LIKES
핸드폰에 문자메세지 전송방법
최현수
•
2000.05.26 20:02
1
COMMENTS
/
0
LIKES
또 퀵레포트의 Detail 밴드에서...
손상택
•
2000.05.26 20:29
최현수 wrote: > 흠냐.. 다시 퀵에서의 질문을 가지고 왔심더.. > detail 벤드에서 연관된 테이블이나 쿼...
김보영
•
2000.05.26 19:45
3
COMMENTS
/
0
LIKES
주민등록번호 검증하는 방법................
안녕하세요... 입력받은 주민등록번호가 정확한건지 체크할수 있는 방법을 알고 싶거든요. 많은 관심 부탁드리구요. 좋은 하루 되세요...*^^*
사발우성
•
2000.05.26 19:51
김보영 wrote: > 안녕하세요... > 입력받은 주민등록번호가 정확한건지 체크할수 있는 방법을 > 알고 ...
강호규
•
2001.04.20 06:26
약간의 버그가 있는 것 같아 글을 올립니다. tval2 = 10 일 경우를 감안하지 않았군요 [기존] tval2 :...
사발우성
•
2000.05.26 19:48
김보영 wrote: > 안녕하세요... > 입력받은 주민등록번호가 정확한건지 체크할수 있는 방법을 > 알고 ...
blueofsky
•
2000.05.26 19:22
2
COMMENTS
/
0
LIKES
다른폼에 값을 넘겨줄때...
bhkmm
•
2000.06.08 22:17
blueofsky wrote: > 안녕하세요... > > 두개의 폼이 있는데 그 각각의 폼에 하나의 폼을 호출하게 됩...
강인규
•
2000.05.26 19:50
저의 경우를 답변해드립니다. 정답이라고는 할 수 없으나 이런방법도 있습니다. SDI로 AutoCreateForm으...
초초보
•
2000.05.26 19:20
1
COMMENTS
/
0
LIKES
퀵리포트 미리보기 글자 겹침..
손상택
•
2000.05.26 19:58
초초보 wrote: > 퀵리포트를 사용하려하는데 이상하게 인쇄를 하면 정상적으로 나오는데 미리보기를 하면 ...
정남이
2000.05.26 19:09
0
COMMENTS
/
0
LIKES
아주급합니다. SQL 7.0배포
홍세비
2000.05.26 19:07
0
COMMENTS
/
0
LIKES
폰트가 왜 제대로 표시가 안돼죠?
타락천사
2000.05.26 18:39
0
COMMENTS
/
0
LIKES
Re: 클립보드 내용을 클리어 시키는 것을 델파이에서는 어떻게 하나요??
사발우성
•
2000.05.26 18:27
8
COMMENTS
/
0
LIKES
ㅠ.ㅠ 눈물난당.......[급함당...]
몰라
•
2000.05.26 18:58
타락천사
•
2000.05.26 18:44
사발우성
•
2000.05.26 18:47
타락천사
•
2000.05.26 19:03
강민주
•
2000.05.26 19:00
사발우성
•
2000.05.26 20:04
임형호
•
2000.05.26 20:19
• • •
왕초
•
2000.05.26 17:05
3
COMMENTS
/
0
LIKES
[긴급,질문] WINDOW에서 사용중입니다..!!??????
톰과 제리
•
2000.05.27 14:58
아직 뭄제를 해결하지 못하
몰라
•
2000.05.26 19:02
왕초 wrote: > > * 사용환경 : 델파이4 / Windows 95 > > 프로그램에서 파일을 복사또는 삭제시 > ...
타락천사
•
2000.05.26 18:11
안녕하세여.. 타락임다.. ^^ DLL이나 윈도우 시스템 디렉토리의 화일이어서 그런겁니다.. 윈도우가 ...
김보영
2000/05/26 19:45
Views
838
Likes
0
Comments
3
Reports
0
Tag List
수정
삭제
목록으로
한델 로그인 하기
로그인 상태 유지
아직 회원이 아니세요? 가입하세요!
암호를 잊어버리셨나요?
> 안녕하세요...
> 입력받은 주민등록번호가 정확한건지 체크할수 있는 방법을
> 알고 싶거든요.
> 많은 관심 부탁드리구요. 좋은 하루 되세요...*^^*
팁을 찾았슴당....^^ 즐거운 하루 돼셔유
1. 주민번호 체크 알고리즘
주민번호 예: 710522-1667819
체크방법:
(1) 주민번호 각각의 수에 다음과 같은 수를 곱하여 더한다.
7 1 0 5 2 2 - 1 6 6 7 8 1 9 <-> ok !
2. 성별 구문
주민번호의 하이픈(-)다음의 첫번째 수가 1이면 남자, 2이면 여자임.
3. 나이 계산
주민번호의 처음부터 2개이 수가 태어난 년수이므로
현재 년에서 빼서 1을 더해줌.
function SSNoCheck(ssno:string;var gender:String;var age:byte):boolean;
var
DateStr,YearStr:string;
BirthYear:Byte;
tval:integer;
tval2:integer;
begin
tval:=StrToInt(ssno[1])*2 + StrToInt(ssno[2])*3 + StrToInt(ssno[3])*4
+ StrToInt(ssno[4])*5 + StrToInt(ssno[5])*6 + StrToInt(ssno[6])*7
+ StrToInt(ssno[8])*8+ StrToInt(ssno[9])*9 + StrToInt(ssno[10])*2
+ StrToInt(ssno[11])*3 + StrToInt(ssno[12])*4 + StrToInt(ssno[13])*5;
tval2:=11- (tval mod 11);
if (StrToInt(ssno[14])=tval2) and (ssno[8] in ['1','2']) then
SSNoCheck:=true
else
SSnoCheck:=false;
//성별구분
if ssno[8]='1' then gender:='남'
else if ssno[8]='2' then gender:='여';
//나이 계산
Birthyear:=StrToInt(copy(ssno,1,2));
DateStr:=DateToStr(now);
YearStr:=copy(dateStr,1,2);
age:=StrToInt(YearStr)-BirthYear+1;
end;