首页 > 其他分享 >身份证号码

身份证号码

时间:2025-01-22 14:24:59浏览次数:1  
标签:11 10 号码 17 步骤 校验码 身份证 分配

身份证号码按照GB11643—1999标准制作,共计18位

第一部分:地址码‌(前6位‌)

第1~2位:表示省、自治区、直辖市代码‌
例如河北省行政代码为13
第3~4位:表示‌‌地级市、盟、自治州代码‌
例如保定市在河北省内的行政代码为06
第5~6位:表示‌‌区县、县级市、区代码‌
例如定兴县在保定市内的行政代码为26
因此,河北省保定市定兴县的行政代码为130626

第二部分:出生日期码(第7~14位)

第7~10位:表示年份
第11~12位:表示月份
第13~14位:表示日期
例如张三的出生日期为2006年5月13日,则其出生日期码为20060513

第三部分:顺序码(第15~17位)

所在地派出所被分配有10个连续的号码。例如某派出所分配到的210~219
第15~16位:表示派出所编码
例如该派出所的代码为21,后面从0~9可以分配10个号码
第17位:表示性别
奇数分配给男性,偶数分配给女性。男性从1开始分配,女性从0开始分配,如果同年同月同日生的人有多个,则男性依次按照1、3、5、7、9顺序分配;女性依次按照0、2、4、6、8顺序分配
理论上讲,某个派出所辖区内给同一天出生的人办理身份证的最大数量为10,男性最多5人女性最多5人,超出此数量后无法在该派出所办理身份证,因为该派出所无法分配顺序码,此一点存疑,未验证

第四部分:校验码(第18位)

根据ISO7064:1983.MOD11-2算法计算出校验码,用于校验前面的17位数字是否正确,取值范围为0~10,具有唯一性,当值为10时,用罗马数字符X表示
步骤一:加权系数
将身份证号码前面17位数分别乘以不同的系数,从第1位到第17位分别对应的系数为
7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2
步骤二:乘积相加
‌将第一步中获取到的17组数相加,得到一个和值
步骤三:对11取余
将第二步中得到的和值除以11,得到余数
步骤四:继续取余
用12减去步骤三中的余数,然后继续对11取余,得到最终校验码
步骤五:直接映射校验码
也可以不使用步骤四,而是直接通过映射关系查找到最终校验码
步骤三中的余数只可能有 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 这11个数字
分别对应身份证最后一位校验码 1, 0, X, 9, 8, 7, 6, 5, 4, 3, 2

标签:11,10,号码,17,步骤,校验码,身份证,分配
From: https://www.cnblogs.com/caishuaichao/p/18685693

相关文章

  • 微信小程序上传身份证(身份证识别)
    1、父页面引用组件<viewclass="topic_box"><view>请拍摄本人真实有效的身份证原件和人脸照片</view><view>拍摄时请保证身份证边缘完整,内容清晰可见</view></view><viewclass="upload_box"data-type="idCardPortrait"bind:tap="onC......
  • C语言小作业——电话号码加密器
        请你设计一个电话号码程序:它可以接收用户输入的11位电话号码字符串(假设输入已经符合要求,因此不进行输入验证),并按照指定的加密规则对电话号码进行加密,然后输出加密后的虚拟号码。加密规则是:电话号码的前3位数字不变,从第4位开始,每一位数字的ASCII码值加上一个固定的......
  • 身份证实名认证接口核验显示库无原因?Java身份认证API
    随着信息技术的日新月异,互联网已经深深融入了我们生活的方方面面。从购物、娱乐到工作学习,互联网平台的便捷性为我们的生活带来了前所未有的改变。然而,伴随着这种迅猛发展的是一些不可忽视的安全隐患。为了构建更加健康、安全、可信的网络环境,越来越多的互联网平台开始推行......
  • 开发随笔:身份证校验码
    身份证校验码的计算方法如下:将前面的身份证号码17位数分别乘以不同的系数。从第一位到第十七位的系数分别为:7910584216379105842将这17位数字和对应的系数各自相乘的结果相加;用加出来的和除以11,看余数是多少;余数只可能是012345678910这11个数字中......
  • PGSQL 根据身份证号码判断人员性别, SQL案例中是对存在身份证号码进行判断
    为了清洗包含脏数据的身份证号码,并据此判断用户的性别,我们需要处理三种情况:身份证号码中包含空格、身份证号码为NULL、以及身份证号码为空字符串。以下是优化后的SQL查询语句,它将清晰地处理这些情况,并根据身份证号码的倒数第二位数字来判断性别(奇数为男性,偶数为女性)--[表名]......
  • 代码随想录算法训练营第二十二天| 77.组合、216.组合总和、17.电话号码的字母组合
    目录组合的递归思路来源:77.组合216.组合总和17.电话号码的字母组合组合的递归思路来源(核心是如何用递归实现多重循环):(1)用三重循环实现:3个数中选3个数(可重复),求所有可能 /*11111211312112212313113213321121221322122222......
  • 电话号码的字母组合(回溯)
    给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。答案可以按 任意顺序 返回。给出数字到字母的映射如下(与电话按键相同)。注意1不对应任何字母。 示例1:输入:digits="23"输出:["ad","ae","af","bd","be","bf","cd","ce","cf&qu......
  • 写一个正则提取字符串中的手机号码
    在前端开发中,你可以使用正则表达式来提取字符串中的手机号码。以下是一个示例的正则表达式,用于匹配中国大陆的手机号码(以1开头,第二位为3-9之间的数字,后面跟着9位数字):constregex=/1[3-9]\d{9}/g;你可以使用String.prototype.match()方法来提取字符串中匹配的手机号码。以下是......
  • LeetCode 热题 第17题 电话号码的字母组合
    LeetCode热题17电话号码的字母组合给定一个仅包含数字2-9的字符串,返回所有它能表示的字母组合。答案可以按任意顺序返回。给出数字到字母的映射如下(与电话按键相同)。注意1不对应任何字母。解答classSolution{public:vector<string>letterCombinations......
  • 大陆居民身份证15位转18位
    packagecom.audaque.udf;importorg.apache.hadoop.hive.ql.exec.UDF;importorg.apache.hadoop.io.Text;importjava.text.ParseException;importjava.text.SimpleDateFormat;importjava.util.*;importjava.util.regex.Matcher;importjava.util.regex.Pattern;/***......