Faster, Higher, Stronger
更快,更高,更强

javascript验证组织结构代码

组织机构代码是对中华人民共和国内依法注册、依法登记的机关、企、事业单位、社会团体,以及其他组织机构颁发一个在全国范围内唯一的、始终不变的代码标识。国家质检总局负责组织机构代码的管理工作。

如同居民的身份证一样,组织机构代码证是组织机构在社会经济活动中统一赋予的单位身份证。组织机构代码系统覆盖范围广泛,对申领代码单位的资质审核也有数字档案(档案数字化)作为凭证,可以动态追溯每一个组织机构的历史发展变化。

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
}

 

赞(0) 打赏
未经允许不得转载:峰间的云 » javascript验证组织结构代码

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏