作者 |
|
fwj3861 [个人空间] QQ名 越南-叶子(121305301)
注册  2010-09-09 发贴数 552 精华贴 10 原创贴 20 来自 越南 状态 正常
级别 贵宾 |
|
|
身份证号码的尾号是根据【ISO 7064:1983.MOD 11-2校验码计算公式】计算得来的 官方有自动检查身份证号码是否正确,使用脚本检测后再弹出正确的身份证号码尾号并清空已输入的身份证号码,设置身份证号码为必填项,这样就避免输入错误的身份证号码之后也能保存的弊端 在【员工卡片编辑辅助脚本定义】添加脚本调用 int obj_change() { if(change_obj == "Edit_Paper_Id") { #include 身份证有效性校验 }; //msg('obj change'); //change_obj return 1; }; 把下列脚本复制到新建脚本文件【身份证有效性校验】或下载附件 int main() { dbg_clear() int i,j,count; string paperid,ida,idxs,idb,idjs,xym,sfzws,id18; num id,ida,idb,ids,idjs; paperid = gui_get_val("Edit_Paper_Id"); if(strlen(paperid) == 18) { id18 = str_get_sub(paperid,17,1) str_lst_to_db('7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2') count = db_row_count() for(i=0;i<count;i++); { db_go_row(i) idb = db_res(0); ida=str_get_sub(str_get_sub(paperid,i,1),0,1) idjs = ida*idb db_add_field('校验系数') db_add_field('身份证号码分解') db_add_field('校验结果') db_set_value_ext('校验系数',idb) db_set_value_ext('身份证号码分解',ida) db_set_value_ext('校验结果',idjs) db_set_field_sum_flag('校验结果') }; ids = db_get_sum('校验结果') str_lst_to_db(str_replace(ids/11,".",",")) db_go_head(); idjs = ids - db_res(0)*11 str_lst_to_db('1,0,X,9,8,7,6,5,4,3,2') count = db_row_count() for(j=0;j<count;j++); { db_go_row(j) db_add_field('尾数') db_set_value_ext('尾数',j) xym = db_res_ext('尾数') db_add_field('校验码') db_set_value_ext('校验码',db_res(0)) if(idjs == xym) { sfzws = db_cell('校验码',j) }; }; if(sfzws != id18) { msg('身份证号码有效性验证未通过!当前输入的身份证尾号【'+id18+'】正确的尾号【'+sfzws+'】请重新输入身份证号码!') gui_set_val("Edit_Paper_Id",'') gui_focus("Edit_Paper_Id",'') return 0; }; }; return1; } |
|
|
于 2023-08-03 20:24 被 fwj3861 修改
官方认证第三方服务团队 (越南-叶子) QQ:121305301 TEL:+84869350626
承接越南北部-河内周边省份-OIT部署和维护服务(24小时上门或远程服务)
服务介绍:http://www.onlyit.cn/onlyit_service.html
|
|
fwj3861 [个人空间] QQ名 越南-叶子(121305301)
注册  2010-09-09 发贴数 552 精华贴 10 原创贴 20 来自 越南 状态 正常
级别 贵宾 |
|
fwj3861 [个人空间] QQ名 越南-叶子(121305301)
注册  2010-09-09 发贴数 552 精华贴 10 原创贴 20 来自 越南 状态 正常
级别 贵宾 |
|
|
补充【身份证号码不等于18位数】的检测脚本 int main() { dbg_clear() int i,j,count; string paperid,ida,idb,idjs,xym,sfzws,id18; num ida,idb,ids,idjs; paperid = gui_get_val("Edit_Paper_Id"); if(strlen(paperid) == 18) { id18 = str_get_sub(paperid,17,1) str_lst_to_db('7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2') count = db_row_count() for(i=0;i<count;i++); { db_go_row(i) idb = db_res(0); ida=str_get_sub(str_get_sub(paperid,i,1),0,1) idjs = ida*idb db_add_field('校验系数') db_add_field('身份证号码分解') db_add_field('校验结果') db_set_value_ext('校验系数',idb) db_set_value_ext('身份证号码分解',ida) db_set_value_ext('校验结果',idjs) db_set_field_sum_flag('校验结果') }; ids = db_get_sum('校验结果') str_lst_to_db(str_replace(ids/11,".",",")) db_go_head(); idjs = ids - db_res(0)*11 str_lst_to_db('1,0,X,9,8,7,6,5,4,3,2') count = db_row_count() for(j=0;j<count;j++); { db_go_row(j) db_add_field('尾数') db_set_value_ext('尾数',j) xym = db_res_ext('尾数') db_add_field('校验码') db_set_value_ext('校验码',db_res(0)) if(idjs == xym) { sfzws = db_cell('校验码',j) }; }; if(sfzws != id18) { msg('身份证号码有效性验证未通过!当前输入的身份证尾号【'+id18+'】正确的尾号【'+sfzws+'】请重新输入身份证号码!') gui_set_val("Edit_Paper_Id",'') gui_focus("Edit_Paper_Id") return 0; }; }; //身份证号码小余18位数检测 if(gui_get_focus_obj() != "Edit_Paper_Id" && strlen(paperid) < 18) { msg('请输入完整的18位数身份证号码,目前已输入【'+strlen(paperid)+'】位') gui_set_val("Edit_Paper_Id",'') gui_focus("Edit_Paper_Id") }; //身份证号码大余18位数检测 if(gui_get_focus_obj() != "Edit_Paper_Id" && strlen(paperid) > 18) { msg('请输入18位数身份证号码,目前已输入【'+strlen(paperid)+'】位') gui_set_val("Edit_Paper_Id",'') gui_focus("Edit_Paper_Id") }; return 1; } |
|
附件(登录后才可下载):2308041135_29.csp 说明: 原文件:身份证有效性校验.csp 大小:3632 Byte
|
于 2023-08-04 11:35 被 fwj3861 修改
官方认证第三方服务团队 (越南-叶子) QQ:121305301 TEL:+84869350626
承接越南北部-河内周边省份-OIT部署和维护服务(24小时上门或远程服务)
服务介绍:http://www.onlyit.cn/onlyit_service.html
|
|
福建-卓文军 [个人空间]
注册  2022-11-12 发贴数 103 精华数 0 原创贴 0 来自 状态 正常
级别 会员 |
|
|
试了两个版本, 最新的2023-08-02版本报错,(脚本错误,错误信息:obj_change(line num 3): parameter change_obj not defined 参数没有定义 ((change_obj == _t_1)),行号:3 ) 随意下载了个2022-10-20版本没有问题,正常运行 |
|
|
于 2023-08-06 12:35 被 福建-卓文军 修改
http://www.myoit.cn/soft_onlyit?iuid=40855
因为有你。所以世界才更加美好
Because of you. That's why the world is better.
|
|
qf2016 [个人空间] QQ名 meng 113779009
注册  2016-01-17 发贴数 2551 精华数 0 原创贴 0 来自 状态 正常
级别 版主 |
|
|
最开头加一句 extern change_obj ; 不过后面版本会自动处理。 |
|
|
|
|
|