服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - 易语言 - 易语言验证十八位身份证号码是否正确的代码

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

2022-02-15 17:55易语言源码教程 易语言

今天小编就为大家分享一篇关于易语言验证十八位身份证号码是否正确的代码,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧

常量数据表

?
1
2
3
.版本 2
.常量 行政划位码2, "<文本长度: 20409>", , 各区身份证前六位
.常量 行政划位码1, "<文本长度: 29990>", , 各区身份证前六位

验证十八位身份证号的代码

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
.版本 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]
   跳出循环 ()
  .如果真结束
 .计次循环尾 ()
.如果真结束
返回 (地区值)

启动窗口程序集

?
1
2
3
4
.版本 2
.程序集 窗口程序集_启动窗口
.子程序 __启动窗口_创建完毕
显示结果编辑框.加入文本 (到文本 (验证身份证号 (“420822199511087728”)) + “,” + 到文本 (取身份证出生年月 (“420822199511087728”)) + “,” + 到文本 (取身份证号码性别信息 (“420822199511087728”)) + “,” + 到文本 (取身份证行政区位码信息 (“420822199511087728”)))

运行结果:

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

总结

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

延伸 · 阅读

精彩推荐
  • 易语言易语言在画板中写出指定文本当画板中已满会自动滚屏

    易语言在画板中写出指定文本当画板中已满会自动滚屏

    今天小编就为大家分享一篇关于易语言在画板中写出指定文本当画板中已满会自动滚屏,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,...

    易语言帮助手册9092022-01-12
  • 易语言一步一步跟我学易语言之关于变量

    一步一步跟我学易语言之关于变量

    今天小编就为大家分享一篇关于一步一步跟我学易语言之关于变量,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随...

    易语言帮助手册10822021-06-17
  • 易语言易语言设置进度条边框样式的方法

    易语言设置进度条边框样式的方法

    今天小编就为大家分享一篇关于易语言设置进度条边框样式的方法,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随...

    易语言帮助手册4422022-01-20
  • 易语言易语言获取指定磁盘的名称

    易语言获取指定磁盘的名称

    今天小编就为大家分享一篇关于易语言获取指定磁盘的名称,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来...

    易语言帮助手册12662022-01-04
  • 易语言一步一步跟我学易语言之第二个易程序菜单设计

    一步一步跟我学易语言之第二个易程序菜单设计

    今天小编就为大家分享一篇关于的一步一步跟我学易语言之第二个易程序菜单设计,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要...

    易语言帮助手册7092021-06-17
  • 易语言易语言生成exe文件的方法

    易语言生成exe文件的方法

    在本篇内容中小编给大家分享的是关于易语言生成exe文件的方法知识点,需要的朋友们参考下。...

    易语言教程网14792022-03-01
  • 易语言实例操作易语言载入窗口

    实例操作易语言载入窗口

    在本文中小编给大家整理的是关于易语言载入窗口的教程和步骤内容,需要的可以跟着学习下...

    易语言教程网19162022-03-02
  • 易语言易语言关于程序进程和线程的基础知识

    易语言关于程序进程和线程的基础知识

    今天小编就为大家分享一篇关于易语言关于程序进程和线程的基础知识,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起...

    三叶资源网6662022-02-24