求身份证号码验证算法(100分)

  • 主题发起人 主题发起人 小天
  • 开始时间 开始时间

小天

Unregistered / Unconfirmed
GUEST, unregistred user!
身份证新18位的最后一位是校检码,请问它的算法是怎么样的呢?
 
http://www.gislab.ecnu.edu.cn/delphibbs/DispQ.asp?LID=215811
不知对不对……
 
好象不太对耶
 
第二次回答此问题:
试一试,不知是否你所要的
------------------------------------------------------------------------
详细内容:
procedure TForm1.Button2Click(Sender: TObject);
var
num, i: integer;
PersonID: ShortString;
Code: string[1];
begin
PersonID := '13010319620914121';
PersonID := '34052419800101001';
num:= 0;
for i := 18do
wnto 2do
num := num + Trunc(power(2, i-1)) mod 11 * (ord(PersonID[19 - i])-$30);
num := num mod 11;
case num of
0: code := '1';
1: code := '0';
2: code := 'X';
3: code := '9';
4: code := '8';
5: code := '7';
6: code := '6';
7: code := '5';
8: code := '4';
9: code := '3';
10: code := '2';
end;
PersonID := PersonID + code;
end;
 
可不可以向公安局查? :)
 
多人接受答案了。
 
后退
顶部