易语言验证十八位身份证号码是否正确的代码
作者:易语言源码教程
今天小编就为大家分享一篇关于易语言验证十八位身份证号码是否正确的代码,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
常量数据表
.版本 2 .常量 行政划位码2, "<文本长度: 20409>", , 各区身份证前六位 .常量 行政划位码1, "<文本长度: 29990>", , 各区身份证前六位
验证十八位身份证号的代码
.版本 2 .程序集 程序集1 .子程序 验证身份证号, 逻辑型 .参数 十八位身份证号, 文本型 .局部变量 系数, 整数型, , "0" .局部变量 余数表, 整数型, , "0" .局部变量 位, 整数型 .局部变量 和, 整数型 .局部变量 校验码, 文本型 .局部变量 i, 整数型 .局部变量 temp, 整数型 .局部变量 临时位, 文本型 系数 = { 7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2 } 余数表 = { 1, 0, -1, 9, 8, 7, 6, 5, 4, 3, 2 } ' -1代表X .如果真 (取文本长度 (十八位身份证号) ≠ 18) 返回 (假) .如果真结束 .计次循环首 (17, i) 临时位 = 取文本中间 (十八位身份证号, i, 1) .如果 (临时位 ≥ “0” 且 临时位 ≤ “9”) ' 前17位有非数字位,直接返回假 位 = 到整数 (临时位) 和 = 和 + 位 × 系数 [i] .否则 返回 (假) .如果结束 .计次循环尾 () temp = 余数表 [和 % 11 + 1] 校验码 = 选择 (temp = -1, “X”, 到文本 (temp)) 返回 (选择 (校验码 = 取文本右边 (十八位身份证号, 1), 真, 假)) .子程序 取身份证出生年月, 文本型 .参数 十八位身份证号, 文本型 .局部变量 出生年月, 文本型 .局部变量 temp, 日期时间型 .如果真 (取文本长度 (十八位身份证号) ≠ 18) 返回 (“”) .如果真结束 出生年月 = 取文本中间 (十八位身份证号, 7, 8) temp = 到时间 (出生年月 + “000000”) .如果真 (temp = 指定时间 (100, 1, 1, , , )) 返回 (“”) .如果真结束 返回 (取文本左边 (出生年月, 4) + “-” + 取文本中间 (出生年月, 5, 2) + “-” + 取文本右边 (出生年月, 2)) .子程序 取身份证号码性别信息, 文本型 .参数 十八位身份证号, 文本型 .局部变量 性别码, 整数型 .局部变量 temp, 文本型 .如果真 (取文本长度 (十八位身份证号) ≠ 18) 返回 (“”) .如果真结束 temp = 取文本中间 (十八位身份证号, 17, 1) .如果真 (temp < “0” 或 temp > “9”) 返回 (“”) .如果真结束 性别码 = 到整数 (temp) 返回 (选择 (性别码 % 2 = 0, “女”, “男”)) .子程序 取身份证行政区位码信息, 文本型 .参数 十八位身份证号, 文本型 .局部变量 行政区位码, 文本型 .局部变量 行政区位码表, 文本型, , "0" .局部变量 i, 整数型 .局部变量 temp, 文本型, , "0" .局部变量 地区值, 文本型 行政区位码 = 取文本左边 (十八位身份证号, 6) 行政区位码表 = 分割文本 (#行政划位码1, #换行符, ) .计次循环首 (取数组成员数 (行政区位码表), i) .如果真 (行政区位码 = 取文本左边 (行政区位码表 [i], 6)) temp = 分割文本 (行政区位码表 [i], “,”, ) 地区值 = temp [2] 跳出循环 () .如果真结束 .计次循环尾 () .如果真 (地区值 = “”) 行政区位码表 = 分割文本 (#行政划位码2, #换行符, ) .计次循环首 (取数组成员数 (行政区位码表), i) .如果真 (行政区位码 = 取文本左边 (行政区位码表 [i], 6)) temp = 分割文本 (行政区位码表 [i], “,”, ) 地区值 = temp [2] 跳出循环 () .如果真结束 .计次循环尾 () .如果真结束 返回 (地区值)
启动窗口程序集
.版本 2 .程序集 窗口程序集_启动窗口 .子程序 __启动窗口_创建完毕 显示结果编辑框.加入文本 (到文本 (验证身份证号 (“420822199511087728”)) + “,” + 到文本 (取身份证出生年月 (“420822199511087728”)) + “,” + 到文本 (取身份证号码性别信息 (“420822199511087728”)) + “,” + 到文本 (取身份证行政区位码信息 (“420822199511087728”)))
运行结果:
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对脚本之家的支持。如果你想了解更多相关内容请查看下面相关链接
您可能感兴趣的文章:
- 易语言枚举进程所有句柄信息的代码
- 易语言源码被腾讯TP破坏后修复的代码
- 易语言调用api枚举网卡名称并且获取信息的代码
- 易语言调用微信PrScrn.dll文件进行截图的代码
- 易语言实现截图或右键二维码识别的代码
- 易语言仿按键精灵录制键盘鼠标操作的代码
- 易语言实现YY批量自动加好友的代码
- 易语言运算符分类详细总结大全
- 易语言通过百度错误页面获取北京时间的代码
- 易语言通过时钟和计次循环来实现定时任务的代码
- 易语言调用墨迹天气实现自动定位获取天气情况的代码
- 易语言通过枚举密码进行破解rar压缩包文件的代码
- 易语言调用百度图片识别实现的图片转表格的代码
- 易语言超级列表框点击表头进行排序的代码
- 易语言无需模块设置自动关闭信息框的代码