工作中有涉及到营业执照编码验证,测试+查询,总结了适用的代码
15位编码的校验依据GS15—2006 《工商行政管理市场主体注册号编制规则》,
代码结构工商注册号由14位数字本体码和1位数字校验码组成,其中本体码从左至右依次为:6位首次登记机关码、8位顺序码,1位数字校验码组成。
18位编码的校验依据GB 32100-2015 《法人和其他组织统一社会信用代码编码规则》,
统一代码由十八位阿拉伯数字或大写英文字母(不使用I、O、Z、S、V)组成,包括第1位登记管理部门代码、第2位机构类别代码、第3到第8位登记管理机关行政区划码、第9位~第17位主体标识码(组织机构代码)、第18位校验码五个部门。
校验代码:
//正确返回true,错误则是false
function checkCode(code){
if(code.length != 18 && code.length != 15){
return false;
}
//十八位新码
if(code.length == 18){
var regex = /^([159Y]{1})([1239]{1})([0-9ABCDEFGHJKLMNPQRTUWXY]{6})([0-9ABCDEFGHJKLMNPQRTUWXY]{9})([0-90-9ABCDEFGHJKLMNPQRTUWXY])$/;
if (!regex.test(code)) {
return false;
}
var str = "0123456789ABCDEFGHJKLMNPQRTUWXY"