?? peoplecode.cls
字號:
VERSION 1.0 CLASS
BEGIN
MultiUse = -1 'True
Persistable = 0 'NotPersistable
DataBindingBehavior = 0 'vbNone
DataSourceBehavior = 0 'vbNone
MTSTransactionMode = 0 'NotAnMTSObject
END
Attribute VB_Name = "PeopleCode"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = True
Attribute VB_PredeclaredId = False
Attribute VB_Exposed = False
Public PeopleBirth As Date '接收居民身份證號碼中的出生日期
Public PeopleAge As Integer '接收居民身份證號碼中的年齡
Public PeopleSex As String '接收居民身份證號碼中的性別
Public PeopleCodes As String
Public Function PeopleCode(StrCode As String) As String
Dim StrInput, Temp As String
Dim StrBirth As String
StrInput = StrCode '通過實參傳遞進來的身份證號碼值
Length = Len(StrInput)
If StrCode = "" Then
MsgBox "輸入不能為空", 48, "提示"
ElseIf Not IsNumeric(StrCode) Then
StrCode = ""
Else
If Length = 15 Then
Dim Temp1, Temp2, Temp3
Dim S As Integer
Dim x, Y
x = Array(7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2, 1)
Y = Array("1", "0", "x", "9", "8", "7", "6", "5", "4", "3", "2")
Temp1 = Mid(StrCode, 1, 6)
Temp1 = Temp1 + "19"
Temp2 = Mid(StrCode, 7, 15)
Temp1 = Temp1 + Temp2
S = 0
For i = 0 To 16
j = Val(Mid(Temp1, i + 1, 1)) * x(i)
S = S + j
Next i
S = S Mod 11
StrCode = Temp1 + Trim(Y(S))
PeopleCodes = Temp1 + Trim(Y(S))
Temp = Mid$(StrCode, 7, 4)
Temp3 = Temp
Temp = Mid$(StrCode, 11, 2)
If Val(Temp) > 12 Or Val(Temp) < 0 Then
MsgBox "您輸入的身份證號非法"
StrCode = ""
Else
StrBirth = Temp3 + "-" + Temp
Temp = Mid$(StrCode, 13, 2)
StrBirth = StrBirth + "-" + Temp
PeopleBirth = StrBirth
PeopleAge = DateDiff("yyyy", PeopleBirth, Date)
End If
ElseIf Len(StrInput) = 18 Then
Temp = Mid$(StrInput, 7, 4)
StrBirth = Temp
Temp = Mid$(StrInput, 11, 2)
If Val(Temp) > 12 Or Val(Temp) < 0 Then
MsgBox "您輸入的身份證號非法"
StrCode = ""
Else
StrBirth = StrBirth + "-" + Temp
Temp = Mid$(StrCode, 13, 2)
StrBirth = StrBirth + "-" + Temp
PeopleBirth = StrBirth
PeopleAge = DateDiff("yyyy", PeopleBirth, Date)
PeopleCodes = StrInput
End If
Else
MsgBox "您輸入的身份證號的位數非法!", 48, "提示"
StrCode = ""
End If
End If
Temp = Mid$(StrCode, 17, 1) '判斷身份證號的最后一位是“男”還是“女”
If Temp = "1" Or Temp = "3" Or Temp = "5" Or Temp = "7" Or Temp = "9" Then
PeopleSex = "男"
ElseIf Temp = "0" Or Temp = "2" Or Temp = "4" Or Temp = "6" Or Temp = "8" Then
PeopleSex = "女"
End If
End Function
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -