我國(guó)的18位身份證是由17位數(shù)字和1位校驗(yàn)碼組成的,排列順序從左至右依次為:6位數(shù)字地址碼,8位數(shù)字出生日期碼,3位數(shù)字順序碼(同一地區(qū)同年、同月、同日出生人的編號(hào),奇數(shù)是男性,偶數(shù)是女性)和1位校驗(yàn)碼(0到10,10用X表示)。
身份證號(hào)校驗(yàn)碼可以檢驗(yàn)身份證號(hào)是否有誤,身份證號(hào)的檢驗(yàn)碼計(jì)算方法如下:
|
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
身份證號(hào) |
3 |
3 |
2 |
5 |
2 |
2 |
1 |
9 |
9 |
9 |
0 |
1 |
0 |
1 |
0 |
0 |
1 |
|
加權(quán)因子 |
7 |
9 |
10 |
5 |
8 |
4 |
2 |
1 |
6 |
3 |
7 |
9 |
10 |
5 |
8 |
4 |
2 |
|
積 |
21 |
27 |
20 |
25 |
16 |
24 |
2 |
9 |
54 |
27 |
0 |
9 |
0 |
5 |
0 |
0 |
2 |
|
和 |
241 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
整除11取余 |
10 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
先將身份證號(hào)1到17位分別乘以它對(duì)應(yīng)的加權(quán)因了,然后再將17個(gè)積相加,再次得到的和整除11取余數(shù),最后通過下表用余數(shù)得出對(duì)應(yīng)的校驗(yàn)碼。
余數(shù) |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
校驗(yàn)碼 |
1 |
0 |
X |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
下面的程序是通過計(jì)算身份證校驗(yàn)碼的方法來判斷輸入的身份證號(hào)是否正確。
實(shí)現(xiàn)上述功能的VB程序如下,請(qǐng)?jiān)诋嬀€處填入合適的代碼。
畫線處代碼:
①
Text1.text
Text1.text
;
②
18
18
;
③
val(mid(sfzh,i,1))*w(i)
val(mid(sfzh,i,1))*w(i)
;
④
Mid(sfzh,18,1)=y(n)
Mid(sfzh,18,1)=y(n)
。