| 子程序名 | 返回值类型 | 公开 | 备 注 | ||||
| 时间_取身份证判断 | 逻辑型 | 判断身份证号是否正确,检测1900年到2030年中15位或18位身份证,正确返回真,错误返回假。 | |||||
| 参数名 | 类 型 | 参考 | 可空 | 数组 | 备 注 | ||
| 身份证号 | 文本型 | ||||||
| 变量名 | 类 型 | 静态 | 数组 | 备 注 | ||
| 长度 | 整数型 | |||||
| 局_年 | ||||||
| 局_月 | ||||||
| 局_日 | ||||||
| 局_乘数 | 整数型 | "0" | ||||
| 局_计次 | ||||||
| 和 | 整数型 | |||||
如果真 (长度 = 15 或 长度 = 18)
如果真 (长度 = 15)

如果真 (到数值 (取文本中间 (身份证号, 9, 2)) ≥ 13 或 到数值 (取文本中间 (身份证号, 9, 2)) = 0)

' 输出调试文本 (取文本中间 (身份证号, 9, 2))

返回 (假) ' 月份大于12个月3201057302

如果真 (到数值 (取文本中间 (身份证号, 11, 2)) ≥ 32 或 到数值 (取文本中间 (身份证号, 11, 2)) = 0)

' 输出调试文本 (取文本中间 (身份证号, 11, 2))

返回 (假) ' 日子大于32天
返回 (真)


如果真 (长度 = 18)
局_年 = 到数值 (取文本中间 (身份证号, 7, 4))

如果真 (局_年 ≤ 1900 或 局_年 ≥ 2030)

' 输出调试文本 (取文本中间 (身份证号, 9, 2))

返回 (假) ' 年份小于1900年,大于2030年
局_月 = 到数值 (取文本中间 (身份证号, 11, 2))

如果真 (局_月 ≥ 13 或 局_月 = 0)

' 输出调试文本 (取文本中间 (身份证号, 11, 2))

返回 (假) ' 月份大于12个月
局_日 = 到数值 (取文本中间 (身份证号, 13, 2))

如果真 (局_日 ≥ 32 或 局_日 = 0)

' 输出调试文本 (取文本中间 (身份证号, 13, 2))

返回 (假) ' 日子大于32天
' 校验码计算公式 由易友【小爬虫】提供。
局_乘数 = { 7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2 }

计次循环首 (17, 局_计次)

和 = 和 + 到整数 (取文本中间 (身份证号, 局_计次, 1)) × 局_乘数 [局_计次]

计次循环尾 ()
和 = 和 % 11
返回 (多项选择 (和 + 1, “1”, “0”, “x”, “9”, “8”, “7”, “6”, “5”, “4”, “3”, “2”) = 到小写 (取文本右边 (身份证号, 1)))

返回 (假)
词条作者信息 使用例程
