主题:查询身份证信息源代码(添校验功能),和身份证号与区域对照表
cbl518
[专家分:57140] 发布于 2007-07-06 04:29:00
数据表是根据:
中华人民共和国国家统计局,最新县及县以上行政区划代码(截止2006-12-31 08:56:35)整理的。
[color=008080][size=5]查询身份证信息源代码在六楼。[/size][/color]
[color=0000FF][size=4]源代码修改通知:
根据 0901chang 先生 2007-7-9 无私贡献的代码:
增添了核对校验码功能:
根据 jinlonggao 和 esailor 两位先生 2007-7-9 纠错指导:
修改了 18 位身份证性别出错的问题。
根据 esailor 先生 2007-7-8 意见;
添加了在众多表中自动搜索配套数据表功能。
[/size]
[size=5]对以上高手,我表示衷心得感谢!!![/size][/color]
[color=FF0000][size=4]凡是回帖说明使用结果者,或发表评论新帖子者, [/size] [/color] [color=0000FF][size=3]请将你的电子信箱号码发到。我的论坛信箱。我将不定期赠送不常见的编程实例。[/size][/color]
如:
在 vfp 中,怎样以控件方式操作运行 word 或 excel。
在 vfp 中,怎样构造各种最新界面。
怎样真正使用以数据库为中心的编程方法。
怎样维护和操作:windows 的各种进程。……
vfp 之所以强大,它不但是数据库编程环境,而且有强大的编程环境。别的语言能实现的功能 vfp 都能实现,这是我使用的 20 多年的编程经验。
最后更新于:2007-07-11 08:04:00
回复列表 (共69个回复)
31 楼
北京种子乐 [专家分:3710] 发布于 2007-07-10 14:42:00
[quote]别问我,差远了.而且近段时间精神失常,疯得差不多了.[/quote]
要是钱搛多了乐疯的,通常拿出一些请几桌就好了。注意请时可不能少下我呀,否则我这个偏方可就白出了。嘿嘿!
32 楼
moz [专家分:37620] 发布于 2007-07-10 15:05:00
呵呵,钱没赚多,
可也想摆几桌,
可实在是精神欠佳,
现在连饭都吃不下了.只填两块番薯,
天天心慌慌的,睡也睡不好,睡沙发都觉硬.
睡觉时脑袋拼了老命的在转,死劲在计算着什么.不吃感冒药出汗还睡不了.
结果累得白天也精神失常.
等正常了搛多少了,一定摆上几桌,把你们地址给我好拜贴.
33 楼
北京种子乐 [专家分:3710] 发布于 2007-07-10 15:21:00
请时乌鸦想不想着都可以,他是总有人请的。
34 楼
0901chang [专家分:10660] 发布于 2007-07-10 16:52:00
cbl518兄,我用二十几个身份证号测试了你的程序,正确。
35 楼
0901chang [专家分:10660] 发布于 2007-07-10 17:31:00
cbl518兄,我去某单位用真实数据(2千多人有18位的身份证号码)测试了你的程序,完全正确。
* 下面是我写的测试你的程序的过程
clos data
use GD1\zk1 orde zk1
go top
m_bsh=0
do whil .not.eof()
tmp1=allt(sfzhm)
if len(tmp1)=18
m_bsh=m_bsh+1
@10,10 say m_bsh
do aa1
endi
skip
endd
return
*************************************************
proc aa1
* local sfz_号码, r, i
* sfz_号码="150303198309280114"
* sfz_号码='321102194504272416'
sfz_号码=allt(sfzhm)
m_18=subs(sfz_号码,18,1)
*************************************************
r=0 && 计算校验位
FOR I=18 TO 2 STEP -1
r=r+ VAL(SUBSTR(sfz_号码,19-i,1)) * 2^(i-1)%11
NEXT
r=r%11
m_0=IIF(r=0,"1", IIF(r=1,"0", IIF(r=2,"X", LTRIM(STR(12-r)))))
*************************************************
if .not.upper(m_18)==m_0
@12,12 say 'm_18='+m_18+' m_校验位='+m_0
set sysm to defa
aaa
endi
return
* vfp9用 ? ICASE(r=0,"1", r=1,"0", r=2,"X", LTRIM(STR(12-r)))
36 楼
zhzoli [专家分:20] 发布于 2007-07-10 23:01:00
谢谢楼主。谢谢!!!
37 楼
cbl518 [专家分:57140] 发布于 2007-07-11 07:37:00
0901chang 老弟:
真是不知道说些什么才能表达我对你的无私支援表示衷心的谢意。那就恩重不言谢了,来日方长。老兄我永远元当你的知心朋友。
因为用点事情,没有及时回帖,还请你原谅为盼。
有你测试的代码,我也放心了。
今后,你编程如果忙,需要我的话,尽管说。我会尽力的。
38 楼
0901chang [专家分:10660] 发布于 2007-07-11 08:37:00
cbl518兄,乌鸦又要叮你了,你太酸了吧。
40 楼
shaols [专家分:150] 发布于 2007-07-16 16:59:00
感谢一下先!学习中……
用vf6.0测试结果不行。
有验校身份证号码失败的提示,而且vf关闭不了
我来回复