var number string = "123456789123456789"
// 对身份证进行简单的校验
if len(number) != 18 {
return nil, errex.NewErrorItem("请输入正确格式的身份证号码")
}
// 系数
coefficient := []int{7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2}
checkDigitMap := []string{"1", "0", "X", "9", "8", "7", "6", "5", "4", "3", "2"}
num := 0
for k, v := range number[:17] {
num += int((v - 48)) * coefficient[k]
}
num %= 11
if checkDigitMap[num] != string(number[17:18]) {
return nil, errex.NewErrorItem("身份证号码不正确")
}
go对二代身份证简单验证
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
相关阅读更多精彩内容
- 本文作者:本尼迪克特·埃文斯(Benedict Evans),就职于硅谷科技风投公司a16z,善于看清科技形势预测...