立诚勿怠,格物致知
It's all about connecting the dots

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验证组织结构代码》
文章链接:https://www.orzzone.com/javascript-validate-organization-code.html
商业联系:yakima.public@gmail.com

本站大部分文章为原创或编译而来,对于本站版权文章,未经许可不得用于商业目的,非商业性转载请以链接形式标注原文出处。
本站内容仅供个人学习交流,不做为任何投资、建议的参考依据,因此产生的问题需自行承担。

评论 抢沙发

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

非常感谢你的打赏,我们将继续给力提供更多优质内容!

支付宝扫一扫打赏

微信扫一扫打赏

登录

找回密码

注册