[Visual Basic 6.0] 中華民國身份證字號檢查程式

摘要:[Visual Basic 6.0] 中華民國身份證字號檢查程式

[Visual Basic 6.0] 中華民國身份證字號檢查程式

 

身份證字號規則說明:

第一位英文:


A=10 台北市 J=18 新竹縣 S=26 高雄縣 
B=11 台中市 K=19 苗栗縣 T=27 屏東縣 
C=12 基隆市 L=20 台中縣 U=28 花蓮縣 
D=13 台南市 M=21 南投縣 V=29 台東縣 
E=14 高雄市 N=22 彰化縣 W=32 金門縣 
F=15 台北縣 O=35 新竹市 X=30 澎湖縣 
G=16 宜蘭縣 P=23 雲林縣 Y=31 陽明山 
H=17 桃園縣 Q=24 嘉義縣 Z=33 連江縣 
I=34 嘉義市 R=25 台南縣

 

第二位數字:


1 為男生 2 為女生

 

檢查碼的計算公式:

  1. 先依照上表將英文字母代號換為數字。
  2. 由左至右,第一位乘一,第二位乘九,第三位乘八,第四位乘七以此類推最後一位乘一。
  3. 將各位相對數字所乘之積相加。
  4. 將上式3所得之和除以十求得餘數。
  5. 以十減去上式4所得餘數即為檢查號。

 


'# [Visual Basic 6.0] 中華民國身份證字號檢查程式
'# 0xDe
Private Sub Command1_Click()
    Select Case Mid(Text1, 1, 1)
        Case "a", "A"
            AnsB = "台北市"
            Check = 10
        Case "b", "B"
            AnsB = "台中市"
            Check = 11
        Case "c", "C"
            AnsB = "基隆市"
            Check = 12
        Case "d", "D"
            AnsB = "台南市"
            Check = 13
        Case "e", "E"
            AnsB = "高雄市"
            Check = 14
        Case "f", "F"
            AnsB = "台北縣"
            Check = 15
        Case "g", "G"
            AnsB = "宜蘭縣"
            Check = 16
        Case "h", "H"
            AnsB = "桃園縣"
            Check = 17
        Case "i", "I"
            AnsB = "嘉義市"
            Check = 34
        Case "j", "J"
            AnsB = "新竹縣"
            Check = 18
        Case "k", "K"
            AnsB = "苗栗縣"
            Check = 19
        Case "l", "L"
            AnsB = "台中縣"
            Check = 20
        Case "m", "M"
            AnsB = "南投縣"
            Check = 21
        Case "n", "N"
            AnsB = "彰化縣"
            Check = 22
        Case "o", "O"
            AnsB = "新竹市"
            Check = 35
        Case "p", "P"
            AnsB = "雲林縣"
            Check = 23
        Case "q", "Q"
            AnsB = "嘉義縣"
            Check = 24
        Case "r", "R"
            AnsB = "台南縣"
            Check = 25
        Case "s", "S"
            AnsB = "高雄縣"
            Check = 26
        Case "t", "T"
            AnsB = "屏東縣"
            Check = 27
        Case "u", "U"
            AnsB = "花蓮縣"
            Check = 28
        Case "v", "V"
            AnsB = "台東縣"
            Check = 29
        Case "w", "W"
            AnsB = "金門縣"
            Check = 32
        Case "x", "X"
            AnsB = "澎湖縣"
            Check = 30
        Case "y", "Y"
            AnsB = "陽明山"
            Check = 31
        Case "z", "Z"
            AnsB = "連江縣"
            Check = 33
    End Select
    
    If Mid(Text1, 2, 1) = 1 Then
        AnsC = "男生"
    Else
        AnsC = "女生"
    End If
    
    Check = Mid(Check, 1, 1) + 9 * Mid(Check, 2, 1)
        K = 2
    For I = 8 To 1 Step -1
        Check = Check + (I * Mid(Text1, K, 1))
        K = K + 1
    Next I
    
    Check = 10 - (Check Mod 10)
    
    If Val(Check) = Mid(Text1, 10) Then
        AnsA = "正確"
    Else
        AnsA = "錯誤"
    End If
End Sub

Private Sub Command2_Click()
    Text1.Text = ""
End Sub

Private Sub Command3_Click()
    End
End Sub

 

 

中華民國身份證字號檢查程式.rar

#0xDe 從分享中學習

#Facebook:ProgrammerDe (https://www.facebook.com/MicrosoftDes) 有問題歡迎提問