摘要:[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 為女生
檢查碼的計算公式:
- 先依照上表將英文字母代號換為數字。
- 由左至右,第一位乘一,第二位乘九,第三位乘八,第四位乘七以此類推最後一位乘一。
- 將各位相對數字所乘之積相加。
- 將上式3所得之和除以十求得餘數。
- 以十減去上式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
#0xDe 從分享中學習
#Facebook:ProgrammerDe (https://www.facebook.com/MicrosoftDes) 有問題歡迎提問