精易模块里只有校验身份证是否正确,却没有计算最后一位校验码。自己照着国家标准(GB-11643)身份证校验规则写了个。调用了精易模块~
|
时间_取身份证末尾 | 文本型 | | |
IDCARD | 文本型 | | | | TYPE | 整数型 | | | |
变量名 | 类 型 | 静态 | 数组 | 备 注 | xishu | 整数型 | | 17 | sfz | 文本型 | | 17 | linshi | 整数型 | | | sum | 整数型 | | | jiaoyan | 文本型 | | | yushu | 整数型 | | | i | 整数型 | | | 判断 (文本_取长度 (IDCARD ) ≠ 17 )jiaoyan = “请输入sfz前17位”xishu = { 7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2 }计次循环首 (17, i )文本_逐字分割 (IDCARD, sfz )linshi = xishu [i ] × 到数值 (sfz [i ])sum = sum + linshi 计次循环尾 ()yushu = sum % 11 jiaoyan = 多项选择 (yushu + 1, “1”, “0”, “X”, “9”, “8”, “7”, “6”, “5”, “4”, “3”, “2”)如果真 (TYPE ≠ 0 )jiaoyan = IDCARD + jiaoyan 返回 (jiaoyan)
|