第一篇:18位身份证和组织机构代码校验ORACLE函数
18位身份证和组织机构代码校验ORACLE函数 18位身份证和组织机构代码校验ORACLE函数
18位身份证标准在国家质量技术监督局于1999年7月1日实施的GB11643-1999《公民身份号码》中做了明确规定。
GB11643-1999《公民身份号码》为GB11643-1989《社会保障号码》的修订版,其中指出将原标准名称“社会保障号码”更名为“公民身份号码”,另外GB11643-1999《公民身份号码》从实施之日起代替GB11643-1989。
公民身份号码是特征组合码,由十七位数字本体码和一位校验码组成。排列顺序从左至右依次为:六位数字地址码,八位数字出生日期码,三位数字顺序码和一位校验码。其含义如下:
1.地址码:表示编码对象常住户口所在县(市、旗、区)的行政区划代码,按GB/T2260的规定执行。
2.出生日期码:表示编码对象出生的年、月、日,按GB/T7408的规定执行,年、月、日分别用4位、2位、2位数字表示,之间不用分隔符。
3.顺序码:表示在同一地址码所标识的区域范围内,对同年、同月、同日出生的人编定的顺序号,顺序码的奇数分配给男性,偶数分配给女性。
校验的计算方式:
1.对前17位数字本体码加权求和
公式为:S = Sum(Ai * Wi), i = 0,..., 16
其中Ai表示第i位置上的身份证号码数字值,Wi表示第i位置上的加权因子,其各位对应的值依次为: 7 9 10 5 8 4 2 1 6 3 7 9 10 5 8 4 2
2.以11对计算结果取模
Y = mod(S, 11)
3.根据模的值得到对应的校验码
对应关系为:
Y值: 0 1 2 3 4 5 6 7 8 9 10
校验码: 1 0 X 9 8 7 6 5 4 3 2
15位的身份证号
dddddd yymmdd xx p
18位的身份证号
dddddd yyyymmdd xx p y
其中dddddd为地址码(省地县三级)18位中的和15位中的不完全相同 yyyymmdd yymmdd 为出生年月日 xx顺号类编码 p性别
18位中末尾的y为校验码,在网上可以找到算法
(1)、前两个数字代表省份编码。如:32表示江苏省,34代表安徽省……(2)、第3、4位上的数字代表市级编码。如:01代表南京市,05代表苏州市……(3)、第5、6位上的数字代表区或县编码。如:02代表玄武区,11代表浦口区……
(4)、在第7-14位上行政区代码后的数字表示某个人的出生年月。提问:“为什么2月要用02来表示而不用2来表示呢?”(用0来占位可以统一位数。)
(5)、出生年、月、日后面的两个数字表示居住地所在的派出所编码。如阳沟街所在的号码是04。(6)、老身份证的最后一位,新身份证的倒数第二位数表示性别。提问:哪些数字表示男性?(1、3、5、7、9这样的单数表示男性)。哪些数字表示女性?(0、2、4、6、8这样的双数表示女性)。(7)、新身份证的最后一位是前面17个数字按一定的公式加减乘除得来的,作为个人信息编码,有的也用X来表示。目的是为了进一步防伪,至于计算公式,只有公安机关内部才知道
本资料从网上多处说明整理而来。
18位身份证标准在国家质量技术监督局于1999年7月1日实施的GB11643-1999《公民身份号码》中做了明确规定。
GB11643-1999《公民身份号码》为GB11643-1989《社会保障号码》的修订版,其中指出将原标准名称“社会保障号码”更名为“公民身份号码”,另外GB11643-1999《公民身份号码》从实施之日起代替GB11643-1989。
公民身份号码是特征组合码,由十七位数字本体码和一位校验码组成。排列顺序从左至右依次为:六位数字地址码,八位数字出生日期码,三位数字顺序码和一位校验码。其含义如下:
1.地址码:表示编码对象常住户口所在县(市、旗、区)的行政区划代码,按GB/T2260的规定执行。
2.出生日期码:表示编码对象出生的年、月、日,按GB/T7408的规定执行,年、月、日分别用4位、2位、2位数字表示,之间不用分隔符。
3.顺序码:表示在同一地址码所标识的区域范围内,对同年、同月、同日出生的人编定的顺序号,顺序码的奇数分配给男性,偶数分配给女性。
校验的计算方式:
1.对前17位数字本体码加权求和
公式为:S = Sum(Ai * Wi), i = 0,..., 16
其中Ai表示第i位置上的身份证号码数字值,Wi表示第i位置上的加权因子,其各位对应的值依次为: 7 9 10 5 8 4 2 1 6 3 7 9 10 5 8 4 2
2.以11对计算结果取模
Y = mod(S, 11)
3.根据模的值得到对应的校验码
对应关系为:
Y值: 0 1 2 3 4 5 6 7 8 9 10
校验码: 1 0 X 9 8 7 6 5 4 3 2
关于18位身份证号码尾数是“X”的解释
居民身份证的号码是按照国家的标准编制的,由18位组成:前六位为行政区划代码,第七至第十四位为出生日期码,第15至17位为顺序码,第18位为校验码。作为尾号的校验码,是由号码编制单位按统一的公式计算出来的,如果某人的尾号是0-9,都不会出现X,但如果尾号是10,那么就得用X来代替,因为如果用10做尾号,那么此人的身份证就变成了19位,而19位的号码违反了国家标准,并且我国的计算机应用系统也不承认19位的身份证号码。Ⅹ是罗马数字的10,用X来代替10,可以保证公民的身份证符合国家标准。但是我国的居民身份证在升位后,一些人的尾号变成了X,这部分人在工作生活中,例如去银行存取钱、去汽车公司租赁汽车或者报名参加考试等等过程中,往往不被检验者理解,认为是假身份证,这样的误会给很多人的生活带来不便。公安局的同志希望领到X身份证的同志正确理解这个数字的含义,查验身份证的机关和单位更应该清楚这一点。根据〖中华人民共和国国家标准 GB 11643-1999〗中有关公民身份号码的规定,公民身份号码是特征组合码,由十七位数字本体码和一位数字校验码组成。排列顺序从左至右依次为:六位数字地址码,八位数字出生日期码,三位数字顺序码和一位数字校验码。
地址码表示编码对象常住户口所在县(市、旗、区)的行政区划代码。生日期码表示编码对象出生的年、月、日,其中年份用四位数字表示,年、月、日之间不用分隔符。顺序码表示同一地址码所标识的区域范围内,对同年、月、日出生的人员编定的顺序号。顺序码的奇数分给男性,偶数分给女性。校验码是根据前面十七位数字码,按照ISO 7064:1983.MOD 11-2校验码计算出来的检验码。
★ 地址码含义
身份证前六位是地区代码,代码的解释规则如下: ABCDEF
A:国内区域 1 华北 三省二市 2 东北 三省 3 华东 六省一市 4 华南 六省 5 西南 四省一市 6 西北 五省 7 台湾 8 港澳
B:省代码
按照A划定的分区定义省代码,有直辖市的,直辖市列前,其余按离直辖市的距离排序,没有直辖市的,按离北京的远近排序。
11-15 京 津 冀 晋 蒙 21-23 辽 吉 黑
31-37 沪 苏 浙 皖 闽 赣 鲁 41-46 豫 鄂 湘 粤 桂 琼 50-54 渝 川 贵 云 藏 61-65 陕 甘 青 宁 新 81-82 港 澳
CD:城市代码
从01开始排,对于直辖市,CD=01表示市辖区,CD=02表示辖县; 省的城市代码从省会开始排,其余依92式机动车号牌的顺序排列,比如2101=沈阳 2102=大连……
只有地级城市有独立的城市代码,县级市没有。EF:市辖区、郊区、郊县、县级市代码 如果EF=00,指代这个城市,不特定区县;
对于非直辖市,如EF=01,指代市辖区(任意一个区),02开始指代特定的区。其中:
E=0代表市辖区,E=1代表郊区,E=2代表郊县,E=8代表县级市。
对于直辖市,从01开始就依次排区,没有市区和郊区的代码区分。
★ 校验码计算方法
下面举例说明校验码的计算方法。
15位的身份证编码首先把出生年扩展为4位,简单的就是增加一个19,但是这对于1900年出生的人不使用(这样的寿星不多了)
某男性公民身份号码本体码为***01,首先按照公式(1)计算:
∑(ai×Wi)mod 11……………………………………(1)
公式(1)中:
i----表示号码字符从右至左包括校验码在内的位置序号; ai----表示第i位置上的号码字符值;
Wi----示第i位置上的加权因子,其数值依据公式Wi=(2 的 i-1 次幂)(mod 11)计算得出。
i 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 ai 3 4 0 5 2 4 1 9 8 0 0 1 0 1 0 0 1 a1 Wi 7 9 10 5 8 4 2 1 6 3 7 9 10 5 8 4 2 1
ai×Wi 21 36 0 25 16 16 2 9 48 0 0 9 0 5 0 0 2 a1
根据公式(1)进行计算:
∑(ai×Wi)=(21+36+0+25+16+16+2+9+48++0+0+9+0+5+0+0+2)= 189
189 ÷ 11 = 17 + 2/11
∑(ai×Wi)mod 11 = 2
然后根据计算的结果,从下面的表中查出相应的校验码,其中X表示计算结果为10(男性为大写X;女性为小写x):
∑(ai×WI)(mod 11)0 1 2 3 4 5 6 7 8 9 10 校验码字符值ai 1 0 X 9 8 7 6 5 4 3 2
根据上表,查出计算结果为2的校验码为所以该人员的公民身份号码应该为 ***01X。程序代码:
CREATE OR REPLACE FUNCTION f_Id_Verify(Pid VARCHAR2)RETURN VARCHAR2 IS RESULT VARCHAR2(58);TYPE Char_Tabletype IS TABLE OF VARCHAR2(1)NOT NULL INDEX BY BINARY_INTEGER;TYPE Num_Tabletype IS TABLE OF NUMBER NOT NULL INDEX BY BINARY_INTEGER;Tab_a Char_Tabletype;Tab_w Num_Tabletype;Tab_i Char_Tabletype;i NUMBER(2):= 0;Len NUMBER(2):= Length(Rtrim(Ltrim(Pid)));Sigma NUMBER(4):= 0;BEGIN Tab_i(0):= '1';Tab_i(1):= '0';Tab_i(2):= 'X';Tab_i(3):= '9';Tab_i(4):= '8';Tab_i(5):= '7';Tab_i(6):= '6';Tab_i(7):= '5';Tab_i(8):= '4';Tab_i(9):= '3';Tab_i(10):= '2';--Pid := TRIM(Pid);IF Len = 18 THEN FOR i IN 1..17 LOOP Tab_w(i):= MOD(Power(2,((191)), 11);Tab_a(i):= Substr(Pid, i, 1);Sigma := Sigma + Tab_w(i)* Tab_a(i);END LOOP;RESULT := Substr(Pid, 1, 17)|| Tab_i(MOD(Sigma, 11));END IF;IF RESULT = Pid THEN RETURN('正确');ELSE RETURN('错误,应该是:' || RESULT);END IF;EXCEPTION WHEN OTHERS THEN BEGIN RETURN('错误');Dbms_Output.Put_Line('发生了异常的错误');END;END f_Id_Verify;/
组织机构代码是每一个机关、社会团体、企事业单位在全国范围内唯一的、始终不变的法定代码标识。最新使用的组织机构代码在1997年颁布实施,由8位数字(或大写拉丁字母)本体代码和1位数字(或大写拉丁字母)校验码组成。本体代码采用系列(即分区段)顺序编码方法。校验码按下列公式计算: 8 C9 = 11MOD(∑Ci * Wi,11)…(2)FOR i IN 1..8 LOOP Tab_w(i):= MOD(Power(2,((101)), 11);--Tab_w(i):= MOD(Power(2,((101)), 11);就是加权算法值 Tab_a(i):= Substr(Pid, i, 1);Sigma := Sigma + Tab_w(i)* Tab_a(i);END LOOP;IF MOD(Sigma, 11)= 1 THEN RESULT := Substr(Pid, 1, 8)|| 'X';ELSE RESULT := Substr(Pid, 1, 8)|| To_Char(11-MOD(Sigma, 11));END IF;END IF;IF RESULT = Pid THEN RETURN('正确');ELSE RETURN('错误,应该是:' || RESULT);END IF;EXCEPTION WHEN OTHERS THEN BEGIN RETURN('错误');Dbms_Output.Put_Line('发生了异常的错误');END;END Jgid_Verify;
第二篇:身份证合法校验
身份证合法校验
计算方法如下表:
js代码如下:
var Wi = [ 7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2, 1 ];
// 加权因子
var ValideCode = [ 1, 0, 10, 9, 8, 7, 6, 5, 4, 3, 2 ];
// 身份证验证位值.10代表X function IdCardValidate(idCard){
idCard = trim(idCard.replace(/ /g, “"));
//去掉字符串头尾空格
if(idCard.length == 15){
return isValidityBrithBy15IdCard(idCard);
//进行15位身份证的验证
} else if(idCard.length == 18){
var a_idCard = idCard.split(”“);
// 得到身份证数组
if(isValidityBrithBy18IdCard(idCard)&&isTrueValidateCodeBy18IdCard(a_idCard)){ 进行18位身份证的基本验证和第18位的验证
return true;
//
}else {
return false;
}
} else {
return false;
}
}
/**
* 判断身份证号码为18位时最后的验证位是否正确
* @param a_idCard 身份证号码数组
* @return
*/
function isTrueValidateCodeBy18IdCard(a_idCard){
var sum = 0;
// 声明加权求和变量
if(a_idCard[17].toLowerCase()== 'x'){
a_idCard[17] = 10;
// 将最后位为x的验证码替换为10方便后续操作
}
for(var i = 0;i < 17;i++){
sum += Wi[i] * a_idCard[i];
// 加权求和
}
valCodePosition = sum % 11;
// 得到验证码所位置
if(a_idCard[17] == ValideCode[valCodePosition]){
return true;
} else {
return false;
}
}
/**
* 验证18位数身份证号码中的生日是否是有效生日
* @param idCard 18位书身份证字符串
* @return
*/
function isValidityBrithBy18IdCard(idCard18){
var year = idCard18.substring(6,10);
var month = idCard18.substring(10,12);
var day = idCard18.substring(12,14);
var temp_date = new Date(year,parseFloat(month)-1,parseFloat(day));
// 这里用getFullYear()获取年份,避免千年虫问题
if(temp_date.getFullYear()!=parseFloat(year)
||temp_date.getMonth()!=parseFloat(month)-1
||temp_date.getDate()!=parseFloat(day)){
return false;
}else{
return true;
}
}
/**
* 验证15位数身份证号码中的生日是否是有效生日
* @param idCard15 15位书身份证字符串
* @return
*/
function isValidityBrithBy15IdCard(idCard15){
var year = idCard15.substring(6,8);
var month = idCard15.substring(8,10);
var day = idCard15.substring(10,12);
var temp_date = new Date(year,parseFloat(month)-1,parseFloat(day));
// 对于老身份证中的你年龄则不需考虑千年虫问题而使用getYear()方法
if(temp_date.getYear()!=parseFloat(year)
||temp_date.getMonth()!=parseFloat(month)-1
||temp_date.getDate()!=parseFloat(day)){
return false;
}else{
return true;
}
}
//去掉字符串头尾空格
function trim(str){
return str.replace(/(^s*)|(s*$)/g, ”“);
}
根据身份证号对其进行性别的判定
/**
* 通过身份证判断是男是女
* @param idCard 15/18位身份证号码
* @return 'female'-女、'male'-男
*/
function maleOrFemalByIdCard(idCard){
idCard = trim(idCard.replace(/ /g, ”"));
// 对身份证号码做处理。包括字符间有空格。
if(idCard.length==15){
if(idCard.substring(14,15)%2==0){
return 'female';
}else{
return 'male';
}
}else if(idCard.length ==18){
if(idCard.substring(14,17)%2==0){
return 'female';
}else{
return 'male';
}
}else{
return null;
}
}
第三篇:组织机构代码年检
一、需要提供如下材料:
组织机构代码证书原件、2010年工商部门年检过的营业执照原件及A4复印件(如果是分支机构还要提供企业法人在有效期并经年检的代码证书A4复印件)、法定代表人(或负责人)及经办人的身份证A4复印件,另外还要带上公章。注意:要按照组织机构代码证书上提示的年检时间之前到发证机关进行年检。还有,如果超过了2011年工商部门营业执照年检的期限(一般是每年的5月末之前,这要看营业执照上标明的提示),那就要带2011年工商部门年检过的营业执照原件及A4复印件到质监部门进行年检
1、企业年检后的营业执照副本原件及复印件一份
2、法人身份证复印件(正反两面)
3、经办人身份证及复印件(正反两面)
4、单位公章
5、组织机构代码证书正、副本
二、办理程序
1、受理申请;
2、审核材料;
3、数据处理;
4、交还证卡。
第四篇:组织机构代码服务指南
组织机构代码服务指南
一、组织机构代码简介
中华人民共和国组织机构代码证是依据国发[1989]75号文由国家质量技术监督部门给每个机关、企事业单位、社会团体及依法成立的其他机构(包括法人和法人分支机构)颁发的一个在全国范围内唯一的、始终不变的法定代码标识,是组织机构的“身份证”,简称代码证。
代码证已在银行基本帐户管理、贷款、税收征管、国家统计、质量技术监督管理、公安车辆管理、国有资产登记、清产核资、海关通关管理、外汇管理、人事管理、劳动保险、大型国家普查、公派出国等领域应用,是机构的重要证件,组织机构代码已成为国家经济和社会发展重要的基础信息。
二、代码证新办、变更、换证需提交的证明材料
1、单位批准成立文件原件和复印件。不同类型的机构分别提供:
(1)机构编制管理部门批准的批文或登记证书(副本);
(2)工商行政部门核准颁发的营业执照(副本)、市场登记证等;
(3)民政部门颁发的社团登记证(副本)或民办非企业登记证(副本);
(4)教育行政主管部门批准社会力量办学的证书;
(5)卫生行政主管部门批准社会力量行医执照;
(6)司法行政主管部门核发的律师事务所或法律服务机构许可证;
(7)政府经济协作主管部门批准设立的企业或公司驻济办事处的登记证书;
(8)其他证明组织机构合法地位的文件或证书。
2、具有法人资格的单位应提交法人代表和经办人身份证原件及复印件;非法人资格的单位应提交单位负责人和经办人的身份证原件及复印件。
3、机关、事业单位、国有(集体)企业、分支机构等有上级主管单位的要提供主管单位代码证书复印件。
4、单位行政公章。
5、新办单位要同时提交验资报告和复印件;
6、办理变更、换证的单位应将原代码证书正、副本、IC卡一并交回,并提供代码证书副本的复印件。
三、代码证定期检验需提交的证明材料
1、单位成立文件;如工商执照
2、代码证书正、副本及副本复印件、代码证IC卡;
3、经办人身份证原件和复印件
4、单位行政公章。
四、注销组织机构代码需提交的证明材料
1、批准机构撤销文件原件和复印件;
2、国税、地税注销证明原件和复印件;
3、银行基本户注销证明原件和复印件;
4、代码证书正、副本原件和副本复印件、IC卡。
5、经办人身份证原件和复印件。
五、办证程序
1、申办单位携带证明材料,填写申请表;
2、由工作人员查验证明材料原件和申请表;
3、经查询符合要求后正式受理,办理缴费,领取受理通知书;
4、代码信息录入,由工作人员进行数据质量核查,上报国家代码管理中心,经审核无误后给予赋码,并返回数据。
5、代码证书和IC卡。
6、电子档案扫描和资料归档。
7、凭受理通知书领取代码证书和IC卡。
六、办结时限:自受理之日起三个工作日后凭受理通知书领取代码证书、IC卡。
注:所有证件必须真实、有效,原件和复印件内容要求一致;复印件均为A4纸。
七、各代码工作机构受理范围和联系方式:
1、济南市质量技术监督信息中心:承办市属和部分区属(市中区、天桥区、槐荫区)行政部门批准的机构的代码手续。
黑虎泉北路187号市行政审批中心内,865617922、市质量技术监督局历下分局:承办历下区区属行政部门批准的机构的代码手续。
解放东路71号历下政务中心内,881508853、市质量技术监督局历城分局: 承办历城区区属行政部门批准的机构的代码手续。
花园路79号历城政务中心内,881611034、市质量技术监督局高新开发区分局: 承办高新区区属行政部门批准确的机构的代码手续。
工业南路28号开发区政务中心内,888716795、市质量技术监督局长清分局: 承办长清区区属行政部门批准的机构的代码手续。
五峰山路826号,872015936、市质量技术监督局平阴分局: 承办平阴县县属行政部门批准的机构的代码手续。
榆山路41号,878541317、市质量技术监督局济阳分局: 承办济阳县县属行政部门批准的机构的代码手续。
济孙路32号,842312858、市质量技术监督局商河分局: 承办商河县县属行政部门批准的机构的代码手续。
青年路59号,848703659、市质量技术监督局章丘分局: 承办章丘市市属行政部门批准的机构的代码手续。
山泉路31号,83218138
八、公共服务一卡通(CA数字证书)简介
公共服务一卡通,是由济南市电子政务建设领导小组办公室组织,面向全市组织机构发放的数字证书,作为济南市电子政务建设中网上身份证明,数字证书采用先进的加密算法,具有公正性、可信赖性,高安全性,可以有效提高办公效率和网上政务的安全性,目前已经在市国税、地税网上申报系统中成功应用。经市政府办公厅协调CA数字证书由市质监局统一代收代发,为简化手续,组织机构可在办理代码证书时同时申请数字证书。
九、收费标准及依据
第五篇:组织机构代码申报材料
组织机构代码申报材料
组织机构应在批准成立或者核准登记之日起15日内,持有关批准文件或者登记证书,向批准其成立或者核准其登记的管理部门同级的技术监督行政监管部门申请登记。
办证单位须知:
(一)企业单位(新办、变更、换证、补发、迁址)1.单位营业执照副本原件及原件的双面复印件各一份;;
2.本单位公章;
3.本单位法定代表人及经办人身份证原件及正反面复印件各一份;
4.旧代码证书(所有正本和副本,新办单位除外);
5.IC卡(未申领过的单位除外)。
企业非法人单位需提供上级主管单位代码证复印件及本单位负责人正反面复印件各一份
(二)事业单位(新办、变更、换证、补发、迁址)
1.事业单位登记管理局核发的事业单位法人证书副本原件及复印件一份;
2.本单位公章;
3.本单位法定代表人及经办人身份证原件及正反面复印件各一
份;
4.旧代码证书(所有正本和副本,新办单位除外);
5.IC卡(未申领过的单位除外)。
(三)社会团体(新办、变更、换证、补发、迁址)
1.社团登记证副本原件及副本的双面复印件各一份;
2.本单位公章;
3.本单位法定代表人(负责人)及经办人身份证原件及正反面复印件各一份;
4.旧代码证书(所有正本和副本,新办单位除外);
5.IC卡(未申领过的单位除外)。
(四)机关(新办、变更、换证、补发、迁址)
1.“三定”方案或人员编制批文原件和法定代表人任命文件原件及复印件各一份;
2.本单位公章;
3.本单位法定代表人及经办人身份证原件及正反面复印件各一份;
4.旧代码证书(所有正本和副本,新办单位除外);
5.IC卡(未申领过的单位除外)。
(五)工会(新办、变更、换证、补发、迁址)
1.工会法人资格证书副本、法定代表人证书原件及复印件各一份;
2.本单位公章;
3.本单位法定代表人及经办人身份证原件及正反面复印件各一份;
4.旧代码证书(所有正本和副本,新办单位除外);
5.IC卡(未申领过的单位除外)。
(六)民办非企业(新办、变更、换证、补发、迁址)
1.民办非企业单位登记证书副本原件及双面复印件各一份;
2.本单位公章;
3.本单位法定代表人及经办人身份证原件及正反面复印件各一份;
4.旧代码证书(所有正本和副本,新办单位除外);
5.IC卡(未申领过的单位除外)。
(七)律师事务所(新办、变更、换证、补发、迁址)
1.执业资格证书副本原件及复印件各一份;
2.本单位公章;
3.本单位法定代表人及经办人身份证原件及正反面复印件各一份;
4.旧代码证书(所有正本和副本,新办单位除外);
5.IC卡(未申领过的单位除外)。