易语言采用固定算法身份证15位升级到18位

十五位到十八位

.版本 2
 
.子程序 十五位到十八位, 文本型
.参数 十五位号, 文本型
.局部变量 临时数值, 整数型
.局部变量 数量, 整数型
.局部变量 位数, 文本型
.局部变量 临时文本, 文本型
 
临时文本 = 取文本左边 (十五位号, 6) + “19” + 取文本右边 (十五位号, 9)
.变量循环首 (18, 2, -1, 临时数值)
    数量 = 数量 + (求次方 (2, 临时数值 - 1)11) × 到数值 (取文本中间 (临时文本, 19 - 临时数值, 1))
.变量循环尾 ()
数量 = 数量 % 11
.判断开始 (数量 = 0)
    ' 如果数量 = 0 则位 = “1”
    位数 = “1”
.判断 (数量 = 1)
    ' 如果数量 = 1 则位 = “0”
    位数 = “0”
.判断 (数量 = 2)
    ' 如果数量 = 2 则位 = “X”
    位数 = “X”
.默认
    ' 去掉空格
    位数 = 删首尾空 (到文本 (12 - 数量))
.判断结束
返回 (临时文本 + 位数)

调用执行

窗口放置两个编辑框,一个输入15位旧身份证,一个显示18新的身份证。

.版本 2
 
.子程序 _计算图形按钮_被单击
 
.如果 (取文本长度 (十五位编辑框.内容)15)
    十五位编辑框.获取焦点 ()
    十八位编辑框.内容 = “号码位数不正确”
    十五位编辑框.被选择字符数 = -1
.否则
    十八位编辑框.内容 = 十五位到十八位 (十五位编辑框.内容)

发布日期:

所属分类: 易语言 标签: