统一社会信用代码
统一社会信用代码正则:/^[0-9A-HJ-NPQRTUWXY]{2}\d{6}[0-9A-HJ-NPQRTUWXY]{10}$/;
function isSocialCode(socialCode) {
const reg = /^[0-9A-HJ-NPQRTUWXY]{2}\d{6}[0-9A-HJ-NPQRTUWXY]{10}$/;
return reg.test(socialCode);
}
编码规则
统一社会信用代码由国家标准委发布。国家标准委发布了强制性国家标准《法人和其他组织统一社会信用代码编码规则》。该标准于2015年10月1日实施。
在《法人和其他组织统一社会信用代码编码规则》中明确指出,容易混淆的大写英文字母 “I、O、Z、S、V” 不得编入统一信用代码。
根据《法人和其他组织统一社会信用代码编码规则》第四项第一条的规定:规定统一社会信用代码由十八位的阿拉伯数字或大写英文字母(不使用I、O、Z、S、V)组成,包括第1位登记管理部门代码、第2位机构类别代码、第3位—第8位登记管理机关行政区划码、第9位—第17位主体标识码(组织机构代码)、第18位校验码五个部分。
第一部分(第1位):登记管理部门代码,使用阿拉伯数字或英文字母表示。例如,机构编制、民政、工商三个登记管理部门分别使用1、2、3表示,其他登记管理部门可使用相应阿拉伯数字或英文字母表示。
第二部分(第2位):机构类别代码,使用阿拉伯数字或英文字母表示。登记管理部门根据管理职能,确定在本部门登记的机构类别编码。例如,机构编制部门可用1表示机关单位,2表示事业单位,3表示由中央编办直接管理机构编制的群众团体;民政部门可用1表示社会团体,2表示民办非企业单位,3表示基金会;工商部门可用1表示企业,2表示个体工商户,3表示农民专业合作社。
第三部分(第3—8位):登记管理机关行政区划码,使用阿拉伯数字表示。例如,国家用100000,北京用110000,注册登记时由系统自动生成,体现法人和其他组织注册登记及其登记管理机关所在地,既满足登记管理部门按地区管理需求,也便于社会对注册登记主体所在区域进行识别。(参照《中华人民共和国行政区划代码》〔GB/T2260—2007〕)
第四部分(第9—17位):主体标识码(组织机构代码),使用阿拉伯数字或英文字母表示。(参照《全国组织机构代码编制规则》〔GB 11714—1997〕)
第五部分(第18位):校验码,使用阿拉伯数字或英文字母表示。
/**
* 统一社会信用代码验证
* @param {*} rule
* @param {*} value
* @param {*} callback
*/
checkUnifiedSocialCreditCode(rule, value, callback) { /**统一社会信用代码 */
const reg = /^[0-9A-HJ-NPQRTUWXY]{2}\d{6}[0-9A-HJ-NPQRTUWXY]{10}$/;
if (!value) {
return callback();
} else {
if (!reg.test(value)) {
return callback(new Error('请输入正确的统一社会信用代码'));
} else {
return callback();
}
}
}