前段时间,公司某项工作需要统计部门人员的身份信息,提交人事部汇总后,人事核对信息时发现登记错了几个身份证号巨鹿之战码,反复核对带来了许多麻烦,相信这种低级的错误会因为各种各样的原因经常发生,于是做了西西莉亚一个可以验证身份证号码的表格,避免再次犯错
如果对验证原理没有兴趣可以直接跳到最后的干货部分
一、验证原理身份证 18 位号码的组成是:
AAA新知网AAA-YYYYMMDD-CCC-X6位数字地址码+8位数字出生日期码+3位数字顺序码+1位数字校验码其中,最后一位数字校验码是通过 ISO 7064:1983.MOD 11-2 校验码系统计算得出的,在国家标准《公民身份证号码》(GB 11643—1999)中有详细的解释,这里简单说明一下:
1.身份证第 1~17 位分别乘以对应的权重因子
2.将乘积之和取模 11(即除以 11 取余数),然后根据下表得到对应的第 18 位校验码
其中 X 其实代表的是 10
3.身份证号码第 17 位代表性别,奇数为男性,偶数为女性
二、数学原理这种校验算法的好处是:
1.输错1位数字检测出错误的概率为100% 2.输错2位及以上数字检测出错误的概率为90%以上虽然不能百分之一百保证输入身份双十一物流证号码的正确率,但是足以应对大部分情况了
具体的数学原理可以看大神 @刘巍然-学酥 的回答:ups电源电池
三、车晓婚礼EXCEL表格验证将其它表格中登记好的人员姓名、性别、身份证号码粘贴到验证表格中
操作演示以上信息中姓名和性别是可选项,可以不粘贴,需要注意的是,为避免格式错误,粘贴的时候请使用粘贴为数值
1.源数据从Excel中复制粘贴:<右键 —— 选择性粘贴 —— 数值 快速增高—— 确定>2.源数据从Word中复制粘贴:<右键 —— 选择性粘贴神学校 —— 文本 —— 确定>表格分享:
说明:1.表格只设置了500个人的验证容量,应该足够了,不够的王建煊可以自己修改2.此验证表格是用简单的公式、条件格式等实现的,不涉及VBA,有兴趣的可以自行研究3.为了避免公式因为操作不当被破坏导致验证失效,设置了一个3位数的保护密码4.密码破解线索隐藏在表格里fsn的工作簿《身份证校验》中,十分简单,稍微会点Excel且看过本文内容就能破解自行修改编辑四、VBA代码验证用 VBA 做成了自定义函数的方式,对于会用 VBA 的朋友来说要比公式方便
Function ID(num) Dim X(17) '储存身份证号码分割后的每位字符 Dim Y() '储存计算相乘的系数 Dim LastNum() '储存身份证最后一位验证码 '储存身份证前17位 星海钢琴 For i = 0 To 16 X(i李焯宁) = Mid(num, i + 1, 1) Next '如果第18位是字母X或x,将数字10储存到X(17)中 '如果第18位是数字,直接储存到X(17)中 '如果是其他情况,什么都不做 If Mid(num, 18, 1) = "X" Or Mid(num, 18, 1) = "x" Then X(17) = 10 ElseIf IsNumeric(Mid(num, 18, 1)) 中国好声音张伟Then X(17) = Mid(num, 18, 1) End If 'Y中最后一位11是取模的除数,其余是相乘系数 Y = Array(7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2, 11) LastNum = Array(1, 0, 10, 9,利世 8, 7, 6, 5, 4, 3, 2) '判断位数,18位且前17位都是数字才可能正确王迅出轨,再计算校验码判断 If Len(tenga飞机杯num) = 18 And Application.WorksheetFunction.IsNumber(Mid(num, 1, 17)) Then Sum = 0 For i = 0 To 16 ps网页版 Sum = Sum + X(i) * Y(i微信转账怎么退回) Next Code = Sum Mod Y(17) If LastNum(Code) - X(17) = 0 Then ID = "正确致谢怎么写34; Else ID = "请检查身份证号码!" 公务员考研究生 End If '非18位情况身份证号码错误 Else ID = "请检查身份证号码!" End If End Function更多有意思的内容请关注微信公众号:IpNeNaEcRe
本文发布于:2023-06-08 01:44:33,感谢您对本站的认可!
本文链接:http://www.ranqi119.com/ge/85/252740.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |