组织机构代码是对中华人民共和国内依法注册、依法登记的机关、企、事业单位、社会团体,以及其他组织机构颁发一个在全国范围内唯一的、始终不变的代码标识。国家质检总局负责组织机构代码的管理工作。
如同居民的身份证一样,组织机构代码证是组织机构在社会经济活动中统一赋予的单位身份证。组织机构代码系统覆盖范围广泛,对申领代码单位的资质审核也有数字档案(档案数字化)作为凭证,可以动态追溯每一个组织机构的历史发展变化。
const validateOrganizationCode = (orgCode) => { const codeVal = [ '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'k', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'] const intVal = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35] const crcs = [3, 7, 9, 10, 5, 8, 4, 2] if (orgCode !== '' && orgCode.length === 10) { let sum = 0 for (let i = 0; i < 8; i++) { const codeI = orgCode.substring(i, i + 1) let valI = -1 for (let j = 0; j < codeVal.length; j++) { if (codeI === codeVal[j]) { valI = intVal[j] break } } sum += valI * crcs[i] } let crc = 11 - (sum % 11) switch (crc) { case 10: crc = 'X' break default: break } if (crc === orgCode.substring(9)) { return true } } return false }