易语言验证十八位身份证号码是否正确的代码

常量数据表

.版本 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”)))

运行结果:

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对我们的支持。如果你想了解更多相关内容请查看下面相关链接

(0)

相关推荐

  • 易语言实现截图或右键二维码识别的代码

    DLL命令表 .版本 2 .DLL命令 DecodePictureFile, 整数型, "PsyQrDcd", "DecodePictureFile" .参数 strFilePath, 文本型 .DLL命令 DecodePictureFileRect, 整数型, "PsyQrDcd", "DecodePictureFileRect" .参数 strFilePath, 文本型 .参数 lngLeftX, 整数型 .参数 lngT

  • 易语言调用微信PrScrn.dll文件进行截图的代码

    DLL命令表 .版本 2 .DLL命令 GetProcAddress, 整数型, "kernel32", "GetProcAddress", , 返回函数地址 .参数 hModule, 整数型 .参数 lpProcName, 文本型 .DLL命令 GetModuleHandle, 整数型, "kernel32", "GetModuleHandleA", , 获取一个应用程序或动态链接库的模块句柄 如执行成功成功,则返回模块句柄

  • 易语言调用百度图片识别实现的图片转表格的代码

    截图模块代码 .版本 2 .子程序 开始截图, 逻辑型, 公开, 截图成功返回真,图片被自动保存到剪贴板.失败或放弃截图则返回假. .参数 是否截取鼠标, 逻辑型, 可空 .参数 调节框颜色, 整数型, 可空, 默认:Red=10,Green=100,Blue=130 .参数 矩形信息框颜色, 整数型, 可空, 默认黑色 .参数 矩形信息字体颜色, 整数型, 可空, 默认黑色 .子程序 取剪贴板位图, 字节集, 公开 表格图片转表格源码 此功能需要加载精易模块5.6 .版本 2 .支持库 edr

  • 易语言源码被腾讯TP破坏后修复的代码

    DLL命令表 .版本 2 .DLL命令 CopyTo_系统信息段, , , "RtlMoveMemory" .参数 Dest, 系统信息段 .参数 Src, 字节集 .参数 Length .DLL命令 CopyTo_SectionInfo, , , "RtlMoveMemory" .参数 Dest, _SectionInfo .参数 Src, 字节集 .参数 Length .DLL命令 CopyFrom_SectionInfo, , , "RtlMoveM

  • 易语言枚举进程所有句柄信息的代码

    DLL命令表 .版本 2 .DLL命令 GetCurrentProcessId, 整数型, "kernel32.dll", "GetCurrentProcessId" .DLL命令 GetCurrentProcess, 整数型, "kernel32.dll", "GetCurrentProcess" .DLL命令 RtlMoveMemory_SYSTEM_HANDLE_INFORMATION, , "kernel32

  • 易语言无需模块设置自动关闭信息框的代码

    DLL命令表 .版本 2 .DLL命令 MessageBoxTimeout, 整数型, "user32.dll", "MessageBoxTimeoutA" .参数 hwnd, 整数型 .参数 lpText, 文本型 .参数 lpCaption, 文本型 .参数 uType, 整数型 .参数 wlange, 整数型 .参数 dwTimeout, 整数型 自动关闭信息框的代码 .版本 2 .程序集 窗口程序集1 .子程序 _弹出信息框按钮_被单击 MessageBox

  • 易语言超级列表框点击表头进行排序的代码

    超级列表框排序模块源码 .版本 2 .支持库 iext .程序集 程序集1 .子程序 _启动子程序, 整数型, , 请在本子程序中放置易模块初始化代码 _临时子程序 () ' 在初始化代码执行完毕后调用测试代码 返回 (0) ' 可以根据您的需要返回任意数值 .子程序 _临时子程序 ' 本名称子程序用作测试程序用,仅在开发及调试环境中有效,编译发布程序前将被系统自动清空,请将所有用作测试的临时代码放在本子程序中. 注意不要修改本子程序的名称.参数及返回值类型. .子程序 超级列表框排序, 整数型

  • 易语言仿按键精灵录制键盘鼠标操作的代码

    DLL命令表 .版本 2 .DLL命令 取按键状态, 短整数型, "user32.dll", "GetAsyncKeyState" .参数 鼠标键, 整数型 .DLL命令 取鼠标位置, 整数型, "user32.dll", "GetCursorPos" .参数 当前鼠标位置, 鼠标位置, 传址 .DLL命令 模拟鼠标按键, , , "mouse_event" .参数 鼠标动作, 整数型 .参数 水平位置,

  • 易语言通过时钟和计次循环来实现定时任务的代码

    创建定时任务源码 .版本 2 .支持库 iext .支持库 eAPI .程序集 窗口程序集_启动窗口 .子程序 __启动窗口_创建完毕 .局部变量 i, 整数型 .计次循环首 (61, i) .如果真 (i < 25) 时组合框.加入项目 (到文本 (i - 1), ) .如果真结束 分组合框.加入项目 (到文本 (i - 1), ) 秒组合框.加入项目 (到文本 (i - 1), ) .计次循环尾 () 时组合框.现行选中项 = 0 分组合框.现行选中项 = 0 秒组合框.现行选中项 = 0

  • 易语言调用墨迹天气实现自动定位获取天气情况的代码

    常量数据表 .版本 2 .常量 实况头, "<文本长度: 9>" .常量 实况尾, "<文本长度: 2>" .常量 更新时间头, "<文本长度: 28>" .常量 更新时间尾, "<文本长度: 9>" .常量 温度头, "<文本长度: 28>" .常量 温度尾, "<文本长度: 5>" .常量 空气质量头, &quo

  • 易语言通过枚举密码进行破解rar压缩包文件的代码

    rar密码破解源码 此功能需要加载精易模块5.6 .版本 2 .支持库 xplib .程序集 窗口程序集_启动窗口 .程序集变量 程序集_数组1, 文本型, , "0" .程序集变量 程序集_数组2, 文本型, , "0" .程序集变量 程序集_数组3, 文本型, , "0" .程序集变量 程序集_数组4, 文本型, , "0" .程序集变量 程序集_数组5, 文本型, , "0" .程序集变量 程序集_数

  • 易语言通过百度错误页面获取北京时间的代码

    利用百度取北京时间源码 .版本 2 .程序集 窗口程序集1 .子程序 __启动窗口_创建完毕 .局部变量 XML对象, 对象 .局部变量 时间文本, 文本型 .局部变量 网络时间, 日期时间型 .如果真 (XML对象.创建 ("WinHttp.WinHttpRequest.5.1", )) XML对象.方法 ("SetTimeouts", 5000, 5000, 10000, 5000) XML对象.写属性 ("Option", 6, 0) XM

  • 易语言用夜神模拟器实现抖音自动点赞和评论的代码

    用夜神模拟器实现抖音自动点赞和评论的代码 实现此功能需要加载精易模块5.6和大漠中文类模块 分辨率设置800x600,窗口大小设置固定. .版本 2 .支持库 iext .支持库 iext2 .程序集 窗口程序集_启动窗口 .程序集变量 集_大漠, 大漠中文类 .程序集变量 集_句柄, 整数型 .程序集变量 集_评论内容, 文本型 .程序集变量 集_分割文本, 文本型, , "0" .子程序 __启动窗口_创建完毕 集_大漠.初始_创建_破解 () 置随机数种子 () .子程序 功能_

  • 易语言实现YY批量自动加好友的代码

    在做yy爬虫的时候,发现yy这个地方没有使用webkit,还在使用ie内核,这样的话我们就可以对它内嵌的浏览器做些什么了. 信息挺好爬的,顺便分析了一下点加好友,加群和关注这几个按钮,发现到最后都是直接与客户端的setCommand方法通信的,我没有办法直接调用它客户端的函数. 使用jquery触发click是一个比较另类的方法,以前觉得别人搞得还挺神奇的,就是没往这方面想. 哦对了,它底层调用的是window.external.setCommand('addFriend',uid)方法,有兴趣

  • 易语言调用api枚举网卡名称并且获取信息的代码

    DLL命令表 .版本 2 .DLL命令 GetProcAddress, 整数型, "kernel32", "GetProcAddress", , 返回函数地址 .参数 hModule, 整数型 .参数 lpProcName, 文本型 .DLL命令 GetModuleHandle, 整数型, "kernel32", "GetModuleHandleA", , 获取一个应用程序或动态链接库的模块句柄 如执行成功成功,则返回模块句柄

随机推荐