效果图
身份证行政区划分代码
识别归属地需要行政区划分,都在data.txt文档里面了。
最后一位校验码
根据上面的原理编写程序即可。
{这个函数计算最后一位检验码是否正确,ID是18位身份证号字符串,结果返回字符串}
function IDcheck(ID:string):string;
const
//权重
W:array[1..17] of Integer = (7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2);
//最后一位校验码
A:array[0..10] of Char = ('1','0','x','9','8','7','6','5','4','3','2');
var
newID:string;
j,i,S:Integer;
begin
newID:=ID;
S:=0;
for i:=1 to 17 do
begin
//求加权因子的乘积。
j:=strtoint(newID[i])*W[i];
//求和
S:=S+j;
end;
//求模
S:=S mod 11;
//查表
Result:=A[S];
end;
识别出生日期
传入的身份证号就有出生日期,直接截取相应字符串就好。有趣的是,使用到了参数传递,直接修改变量的值。
{年月日这三