웹떠돌이

vb6 주민 형식 체크 본문

창고

vb6 주민 형식 체크

njas 2011. 7. 29. 21:09
주민 형식 체크 하는 방법은 아는데 만들기도 귀찮고 나중에 쓸필요 있으면~쓸라고~ 
'---------------------------------------------------------------------------------------
' 프로시저  : modJumin
' 작성시간  : 2010-09-02 20:48
' 제작자    : 난느려 (contact@imslow.kr)
' 목적      : 주민등록번호 체크 및 만들기 함수
'             이 함수는 공부용으로 제작되었으며 악용시 책임은 본인에게 있음
'             확실히 말하지만, 이 소스는 절대 악용해서는 안됨.
'             경찰서 가나마나 분명 이 소스에서는 사용 책임은 본인이라고 밝힘.
' 라이센스  : GPL
'---------------------------------------------------------------------------------------
Option Explicit

'=======================================================================================
' 함수      : JuminCheck
' 작성시간  : 2010-09-02 20:48
' 제작자    : 난느려 (contact@imslow.kr)
' 목적      : 주민등록번호를 체크한다. (맨 마지막 자리를 이용한 체크섬)
' 피라미터  : 1. Jumin : 주민등록번호를 '-' 를 제외한 값을 준다 (13자리)
' 레퍼런스  : 없음
'=======================================================================================
Function JuminCheck(ByVal Jumin As String) As Boolean
    On Error GoTo IErr
    Dim i As Byte
    Dim AB As Integer
    Dim B As String
    Dim C As Byte
    B = Jumin
    C = 1
    For i = 1 To 12
         C = C + 1
         If C > 9 Then
              C = 2
         End If
         AB = AB + (Mid$(Val(B), i, 1) * C)
    Next
    If Mid$(Val(B), 13, 1) = Int(11 - Int(AB Mod 11)) Mod 10 Then JuminCheck = True
    Exit Function
IErr:
    JuminCheck = False
End Function

'=======================================================================================
' 함수      : JuminBuild
' 작성시간  : 2010-09-02 20:48
' 제작자    : 난느려 (contact@imslow.kr)
' 목적      : 주민등록번호를 본인이 설정한 대로 만든다 (체크섬 이용)
' 피라미터  : 1. Jumin1 : 생일을 입력한다. (121212, 821217 등)
'             2. Jumin2 : 주민등록번호 중 *xxxxx* 에서 xxxxx 에 들어갈 값을 입력해준다.
'                         간단히 말하자면 xxxxx 는 10000~99999 이런식으로..
'             3. ManWoman : 1 = 남자, 2 = 여자, 2000년 이상부터는 3 = 남자, 4 = 여자
' 레퍼런스  : 없음
'=======================================================================================
Function JuminBuild(ByVal Jumin1 As String, _
                    ByVal Jumin2 As String, _
                    ByVal ManWoman As Byte) As Byte
    On Error GoTo IErr
    Dim i As Byte
    Dim AB As Integer
    Dim B As String
    Dim C As Byte
    B = Jumin1 & ManWoman & Jumin2
    C = 1
    For i = 1 To 12
         C = C + 1
         If C > 9 Then
              C = 2
         End If
         AB = AB + (Mid$(Val(B), i, 1) * C)
    Next
    JuminBuild = Int(11 - Int(AB Mod 11)) Mod 10
    Exit Function
IErr:
    JuminBuild = -1 ' -- 오류발생 알림
End Function

'창고' 카테고리의 다른 글

jQuery 차트시트  (0) 2011.07.31
SyntaxHighlighter 사용 가능한 언어 종류  (0) 2011.07.29
아파치 설치시 내가 주로하는 php.ini 수정  (2) 2011.07.29
점프 명령어  (0) 2011.07.29
MYSQL 인덱스 정리  (0) 2011.07.29
Comments