【 – 话题作文】
省份证号(一)
身份证号码编码规则
18 位身份证号码编码规则:根据〖中华人民共和国国家标准 GB 11643-1999〗中有关公民身份号码的规定,公民身份号码是特征组合码,由十七位数字本体码和一位数字校验码组成。排列顺序从左至右依次为:六位数字地址码,八位数字出生日期码,三位数字顺序码和一位数字校验码。可以用字母表示如为 ABCDEFYYYYMMDDXXXR。其含义如下:
1. 地址码(ABCDEF):表示编码对象常住户口所在县(市、旗、区)的行政区划代码,按 GB/T2260 的规定执行。
2. 出生日期码(YYYYMMDD):表示编码对象出生的年、月、日,按 GB/T7408 的规定执行,年、月、日分别用 4 位、2 位(不足两位加 0)、2(同上)位数字表示,之间不用分隔符。
3. 顺序码(XXX):表示在同一地址码所标识的区域范围内,对同年、同月、同日出生的人编定的顺序号,顺序码的奇数分配给男性,偶数分配给女性。
4.校验码(R):一位数字,通过前 17 位数字按照 ISO 7064:1983.MOD 11-2 校验码计算得出。
15 位的身份证编码首先把出生年扩展为 4 位,简单的就是增加一个 19,但是这对于 1900 年出生的人不使用(这样的寿星不多了)
关于地址码含义的详细解释:身份证前六位是地区代码,我们用 ABCDEF 表示。 代码的解释规则如下:
A:国内区域
1 华北三省二市
2 东北三省
3 华东六省一市
4 华南六省
5 西南四省一市
6 西北五省
7 台湾
8 港澳
B(或者说是 AB,就是前 2 位):省(直辖市,自治区,特别行政区)代码
按照 A 划定的分区定义省代码,有直辖市的,直辖市列前,其余按离直辖市的距离排序,没有直辖市的,按离北京的远近排序。
具体省(直辖市,自治区,特别行政区)代码如下:
11-15 京、津、冀、晋、蒙
21-23 辽、吉、黑
31-37 沪、苏、浙、皖、闽、赣、鲁
41-46 豫、鄂、湘、粤、桂、琼
50-54 渝、川、贵、云、藏
61-65 陕、甘、青、宁、新
81-82 港、澳
生日期码(YYYYMMDD)表示编码对象出生的年、月、日,其中年份用四位数字表示,年、月、日之间不用分隔符。例如:1981 年 5 月 11 日就用 19810511 表示。
顺序码(XXX)(身份证第十五位到十七位)是县、区级政府所辖派出所的分配码,每个派出所分配码为 10 个连续号码,例如“000-009”或“060-069”,其中单数为男性分配码,双数为女性分配码,如遇同年同月同日有两人以上时顺延第二、第三、第四、第五个分配码。如:007 的就是个男生,而且和他同年月日生的男生至少有两个,他们的后四位是 001* 和 003*。分配顺序码中“999、998、997、996”四个顺序号分别为男女性百岁以上老人专用的特定编号。
关于校验码
18 位身份证最末位是校验码,是按一定的规则产生的,用于校验身份证真伪,按理这规则属于保密的,X 代表的是其中一个校验码,是 10。校验码从 0 到 X 共 11 个。
校验码是通过一系列数学计算得出来的,具体校验的计算方式如下:
公式为:∑(Ai×Wi)(mod 11)
i——表示号码字符从右至左包括校验码在内的位置序号;
Ai——表示第 i 位置上的号码字符值;
Wi——示第 i 位置上的加权因子(其值已定),其数值依据公式 Wi=2^(i-1)(mod 11) 计算得出。其各位对应的值依次为:7 9 10 5 8 4 2 1 6 3 7 9 10 5 8 4 2
例如:某男性公民身份号码为 34052419800101001V(V为校验码),对前 17 位数字本体码首先按照上面公式加权求和计算:
∑(Ai×Wi) =( 21 + 36 + 0 + 25 + 16 + 16 + 2 + 9 + 48 + 0 + 0 + 9 + 0 + 5 + 0 + 0 + 2 ) = 189
∑(Ai×Wi)(mod 11) = 189 mod 11 = 2
然后根据计算的结果,从下面的表中查出相应的校验码。其中 X 表示计算结果为 10。
根据上表,查出计算结果为 2 的校验码为 X,所以该人员的公民身份号码应该为 34052419800101001X。
如果校验码不符合这个规则,则肯定是假号码。
关于 18 位身份证号码尾数是“X”的一种解释:因为按照上面的规则,校验码有 11 个,而不是 10 个,所以不能用 0-9 表示。所以如果尾号是 10,那么就得用 X 来代替,因为如果用 10 做尾号,那么此人的身份证就变成了 19 位,而 19 位的号码违反了国家标准,并且我国的计算机应用系统也不承认 19 位的身份证号码。Ⅹ 是罗马数字的 10,用 X 来代替 10,可以保证公民的身份证符合国家标准。
//省份证号码真伪识别程序,第一位号码不计在内 #include<iostream> #include<math.h> using namespace std; int main() {
char st[19];
int num[19],w[19],s=0; freopen("num.txt","r",stdin); freopen("res.txt","w",stdout); cin>>st;
for(int i=1; i<=18; i++) num[i]=st[i]-'0'; for(int i=1;i<=18;i++)
cout<<num[i]; cout<<endl;
if((num[15]*100+num[16]*10+num[17])%2==0) cout<<"女性\n"; else cout<<"男性\n"; for(int i=1; i<=17; i++){ w[i]=(int)pow(2,18-i)%11; cout<<w[i]<<" "; s+=num[i]*w[i]; } s%=11;
if(s==0 && num[18]==1){ cout<<"\nok!\n"; return 0; }
if(s==1 && num[18]==0){ cout<<"\nok!\n"; return 0; }
if(s==2 && (st[18]=='X' || st[18]=='x')){ cout<<"\nok!\n"; return 0; }
if((s>=3 && s<=10) && (s+num[18]==12)){ cout<<"\nok!\n"; return 0; }
cout<<"\nError!\n"; return 0; }
省份证号(二)
年龄#VALUE!
#VALUE!
#VALUE!
#VALUE!
#VALUE!
#VALUE!
#VALUE!
#VALUE!
#VALUE!
#VALUE!
#VALUE!
#VALUE!
#VALUE!
#VALUE!
#VALUE!
#VALUE!
#VALUE!
#VALUE!
#VALUE!
#VALUE!8687778777#VALUE!#VALUE!#VALUE!#VALUE!#VALUE!#VALUE!#VALUE!#VALUE!#VALUE!#VALUE!#VALUE!#VALUE!#VALUE!#VALUE!#VALUE!#VALUE!#VALUE!#VALUE!#VALUE!#VALUE!
省份证号(三)
110112011301130213031304130513061309131013111322140114021403140414051406141014231424142614271501150415211522152521042106210721112112211422022203220422052302231023112323320232033206
3207河北省北京市天津市河北省石家庄市河北省唐山市河北省秦皇岛市河北省邯郸市河北省邢台市河北省保定市河北省沧州市河北省廊坊市河北省衡水市河北省南宫市山西省太原市山西省大同市山西省阳泉市山西省长治市山西省晋城市山西省朔州市山西省临汾市山西省吕梁地区山西省晋中地区山西省临汾地区山西省运城地区内蒙古自治区呼和浩特市内蒙古自治区赤峰市内蒙古自治区呼伦贝尔盟内蒙古自治区兴安盟内蒙古锡林郭勒盟辽宁省抚顺市辽宁省丹东市辽宁省锦州市辽宁省盘锦市辽宁省铁岭市辽宁省葫芦岛市吉林省吉林市吉林省四平市吉林省辽源市吉林省通化市黑龙江省齐齐哈尔市黑龙江省牡丹江市黑龙江省黑河市黑龙江省绥化江苏省无锡市江苏省徐州市江苏省南通市江苏省连云港市
330133023303330433053306330934013405341134123416342534263505350635073508352236043623362436253701370237033704370737083709371037133715372941074117420242034205420642074212422142234305
4310浙江省杭州市浙江省宁波市浙江省温州市浙江省嘉兴市浙江省湖州市浙江省绍兴市浙江省舟山市安徽省合肥市安徽省马鞍山市安徽省滁州市安徽省阜阳市安徽省毫州市安徽省宣城地区安徽省巢湖市福建省泉州市福建省漳州市福建省南平市福建省龙岩市福建省宁德地区江西省九江市江西省上饶地区江西省吉安地区江西省抚州地区山东省济南市山东省青岛市山东省淄博市山东省枣庄市山东省潍坊市山东省济宁市山东省泰安市山东省威海市山东省临沂市山东省聊城市山东省菏泽地区河南省新乡市河南省驻马店市湖北省黄石市湖北省十堰市湖北省宜昌市湖北省襄樊市湖北省鄂州市湖北省咸宁市湖北省黄冈地区湖北省咸宁地区湖南省邵阳市湖南省郴州市
431244024403440544084409441445034521452245244527460046015002510751085110511351305137520252215222522552265301530353215323532553295330533254015423610261046106612361246125612762016203
6204湖南省怀化市广东省韶关市广东省深圳市广东省汕头市广东省湛江市广东省茂名市广东省梅州市广西壮族自治区桂林市广西省南宁市广西壮族自治区柳州地区广西壮族自治区贺州地区广西壮族自治区河池地区海南省文昌县海南省海口市重庆市垫江县四川省绵阳市四川省广元市四川省内江市四川省南充市四川省达川地区四川省巴中地区贵州省六盘水市贵州省遵义地区贵州省铜仁地区贵州省安顺地区云南省黔东南苗族侗族自治州云南省昆明市云南省曲靖市云南省盐津县云南省楚雄彝族自治州云南省红河哈尼族彝族自治州云南省大理市云南省保山地区云南省丽江地区西藏自治区拉萨市西藏自治区日喀则地区陕西省铜川市陕西省咸阳市陕西省延安市陕西省汉中地区陕西省安康地区陕西省商洛地区陕西省榆林地区甘肃省兰州市甘肃省金昌市甘肃省白银市
621162226223622462276228630163226323632563266328640164026403640465226523652765296531654165426590130413051307130713091309140214061407142214231426152221012103210521052110220122062208
2224甘肃省定西市甘肃省张掖地区甘肃省武威地区甘肃省定西地区甘肃平凉市甘肃省庆阳地区青海省西宁市青海省海北藏族自治州青海省黄南藏族自治州青海省海南藏族自治州青海省果洛藏族自治州青海省海西蒙古族藏族自治州宁夏回族自治区银川市宁夏石嘴山市宁夏回族自治区吴忠市宁夏回族自治区固原市新疆维吾尔自治区哈密地区新疆维吾尔自治区昌吉回族自治州新疆维吾尔自治区博尔塔拉蒙古自治州新疆维吾尔自治区阿克苏地区新疆维吾尔自治区喀什地区新疆伊宁市新疆维吾尔自治区塔城地区安徽省宣州市河北省邯郸市河北省邢台市河北省张家口市河北省张家口市河北省沧州市河北省沧州市山西省大同市山西省朔州市山西省晋中市山西省忻州地区山西省吕梁地区山西省临汾地区内蒙古乌兰浩特市辽宁省沈阳市辽宁省鞍山市辽宁省本溪市辽宁省本溪市辽宁省辽阳市吉林省长春市吉林省白山市吉林省白城市吉林省延边朝鲜族自治州
230432013203320432043208320832093209320932113211321232123212321232123306330633073308331033253401340334043406340834083412342234243501350335043601360136023603360636093622362437063711
3714黑龙江省鹤岗市江苏省南京市江苏省徐州市江苏省常州市江苏省常州市江苏省淮安市江苏省淮安市江苏省盐城市江苏省盐城市江苏省盐城市江苏省镇江市江苏省镇江市江苏省泰州市江苏省泰州市江苏省泰州市江苏省泰州市江苏省泰州市浙江省绍兴市浙江省绍兴市浙江省金华市浙江省衢州市浙江省台州市浙江省丽水地区安徽省合肥市安徽省蚌埠市安徽省淮南市安徽省淮北市安徽省安庆市安徽省安庆市安徽省阜阳市安徽省宿县地区安徽省六安地区福建省福州市福建省莆田市福建省三明市江西省南昌市江西省南昌市江西省景德镇市江西省萍乡市江西省鹰潭市江西省宜春市江西省宜春地区江西省吉安地区山东省烟台市山东省日照市山东省德州市
省份证号(四)
证 明
本人张秩惠为杨绍宇的大嫂,杨绍宇(身份证号:450521198709154891)由于2013年1月2日要结婚,2012年12月26日左右回合浦,在2013年1月7左右与其母亲从合浦县坐汽车到桂林市汽车站,在汽车站下车时被人偷走钱包,钱包内有本人身份证原件及现金。 身份证丢失后其本人回合浦补办身份证。
特此证明
2014年9月11日
省份证号(五)
Excel中从身份证号码中提取出生年月、性别及年龄
一、分析身份证号码
其实,身份证号码与一个人的性别、出生年月、籍贯等信息是紧密相连的,无论是15位还是18位的身份证号码,其中都保存了相关的个人信息。
15位身份证号码:第7、8位为出生年份(两位数),第9、10位为出生月份,第11、12位代表出生日期,第15位代表性别,奇数为男,偶数为女。
18位身份证号码:第7、8、9、10位为出生年份(四位数),第11、第12位为出生月份,第13、14位代表出生日期,第17位代表性别,奇数为男,偶数为女。
1.根据身份证号自动出生年月日
MID函数的作用是返回文本字符串中从指定位置开始的特定数目的字符(该数目由用户指定)。
语法:
MID(text,start_num,num_chars)
Text 是包含要提取字符的文本字符串。
Start_num 是文本中要提取的第一个字符的位置。文本中第一个字符的 start_num 为 1,以此类推。
Num_chars 指定希望 MID 从文本中返回字符的个数。
函数为:MID(A1,7,8),显示的时候格式为YYYYMMDD。
如果想把出生年月日的格式写成YYYY-MM-DD的格式,那么函数可以写成如下格式:=MID(A1,7,4)&"-"&MID(A1,11,2)&"-"&MID(A1,13,2)
2. 提取性别信息
函数1:=IF((MOD(MID(A1,17,1),2)=0),"女","男")
MID(A1,17,1)——从单元格A1中的第17位数字开始提取1位数字。
MOD(MID(A1,17,1),2)=0—–把提取的数字取余。
IF((MOD(MID(A1,17,1),2)=0),"女","男")—–若余数为0,则性别为女,否则为男。
函数2:=IF(VALUE(MID(A1,15,3))/2=INT(VALUE(MID(A1,15,3))/2),"女","男")
(2)针对15位和18位省份证号码同时存在的时候
由于报表中各位员工的序号编排是按照上级核定的编制进行的,因此不可能按照男、女固定的顺序进行编排,如果一个一个手工输入的话,既麻烦又容易出错
例如性别信息统一在B列填写,可以在B2单元格中输入公式“=IF(MOD(IF(LEN(C2)=15,MID(C2,15,1),MID(C2,17,1)),2)=1,"男","女")”,其中: LEN(C2)=15:检查身份证号码的长度是否是15位。
MID(C2,15,1):如果身份证号码的长度是15位,那么提取第15位的数字。
MID(C2,17,1):如果身份证号码的长度不是15位,即18位身份证号码,那么应该提取第17位的数字。
MOD(IF(LEN(C2)=15,MID(C2,15,1),MID(C2,17,1)),2):用于得到给出数字除以指定数字后的余数,本例表示对提出来的数值除以2以后所得到的余数。
IF(MOD(IF(LEN(C2)=15,MID(C2,15,1),MID(C2,17,1)),2)=1,"男","女"):如果除以2以后的余数是1,那么B2单元格显示为“男”,否则显示为“女”。
3.根据身份证号计算年龄
在需要显示的单元格中插入函数:
=INT((TODAY()-DATE(MID(A1,7,4),MID(A1,11,2),MID(A1,13,2)))/365)
如何利用Excel从身份证号中提取出生年月和年龄等信息?
2007年12月16日 07:41 P.M.一、分析身份证号码
其实,身份证号码与一个人的性别、出生年月、籍贯等信息是紧密相连的,无论是15位还是18位的身份证号码,其中都保存了相关的个人信息。
15位身份证号码:第7、8位为出生年份(两位数),第9、10位为出生月份,第11、12位代表出生日期,第15位代表性别,奇数为男,偶数为女。
18位身份证号码:第7、8、9、10位为出生年份(四位数),第11、第12位为出生月份,第13、14位代表出生日期,第17位代表性别,奇数为男,偶数为女。
例如,某员工的身份证号码(15位)是320521720807024,那么表示1972年8月7日出生,性别为女。如果能想办法从这些身份证号码中将上述个人信息提取出来,不仅快速简便,而且不容易出错,核对时也只需要对身份证号码进行检查,肯定可以大大提高工作效率。
这里,我们需要使用IF、LEN、MOD、MID、DATE等函数从身份证号码中提取个人信息。如图1所示,其中员工的身份证号码信息已输入完毕(C列),出生年月信息填写在D列,性别信息填写在B列。
图1 输入身份证号码
1.提取出生年月信息
由于上交报表时只需要填写出生年月,不需要填写出生日期,因此这里我们只需要关心身份证号码的相应部位即可,即显示为“7208”这样的信息。在D2单元格中输入公式“=IF(LEN(C2)=15,MID(C2,7,4),MID(C2,9,4))”,其中:
LEN(C2)=15:检查C2单元格中字符串的字符数目,本例的含义是检查身份证号码的长度是否是15位。
MID(C2,7,4):从C2单元格中字符串的第7位开始提取四位数字,本例中表示提取15位身份证号码的第7、8、9、10位数字。
MID(C2,9,4):从C2单元格中字符串的第9位开始提取四位数字,本例中表示提取18位身份证号码的第9、10、11、12位数字。
IF(LEN(C2)=15,MID(C2,7,4),MID(C2,9,4)):IF是一个逻辑判断函数,表示如果C2单元格是15位,则提取第7位开始的四位数字,如果不是15位则提取自第9位开始的四位数字。
如果需要显示为“70年12月”这样的格式,请使用DATE格式,并在“单元格格式→日期”中进行设置。
由于报表中各位员工的序号编排是按照上级核定的编制进行的,因此不可能按照男、女固定的顺序进行编排,如果一个一个手工输入的话,既麻烦又容易出错。
例如性别信息统一在B列填写,可以在B2单元格中输入公式“=IF(MOD(IF(LEN(C2)=15,MID(C2,15,1),MID(C2,17,1)),2)=1,"男","女")”,其中:
LEN(C2)=15:检查身份证号码的长度是否是15位。
MID(C2,15,1):如果身份证号码的长度是15位,那么提取第15位的数字。
MID(C2,17,1):如果身份证号码的长
转载请注明:中小学优秀作文大全_作文模板_写作指导_范文大全 » 省份证号 身份证号