首页
学习
活动
专区
圈层
工具
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

js验证统一社会信用代码

统一社会信用代码是一组长度为18位的用于法人和其他组织身份识别的代码。在JavaScript中进行统一社会信用代码验证,可以通过正则表达式来实现。

一、基础概念

  1. 编码规则
    • 统一社会信用代码由登记管理部门代码(1位)、机构类别代码(1位)、登记管理机关行政区划码(6位)、主体标识码(9位,采用组织机构代码)、校验码(1位)组成。
  • 正则表达式验证原理
    • 正则表达式是一种用于匹配字符串模式的工具。在JavaScript中,可以使用正则表达式来检查输入的统一社会信用代码是否符合其格式要求。

二、相关优势

  1. 数据准确性
    • 确保输入的是合法的统一社会信用代码,有助于在业务逻辑中正确识别相关主体,例如在与企业相关的信息管理系统中准确关联企业数据。
  • 安全性
    • 在涉及到与外部企业交互或者数据共享时,验证统一社会信用代码可以防止非法主体接入系统,提高系统的安全性。

三、类型(这里主要指验证类型)

  1. 格式验证
    • 主要是检查代码的长度是否为18位,以及每一位字符是否符合相应的规则(如数字或者特定字母)。
  • 校验码验证(较复杂)
    • 根据统一社会信用代码的编码规则,校验码是通过特定算法计算得出的。可以通过编写函数来计算校验码并与输入的第18位进行比对。

四、应用场景

  1. 企业注册与信息管理
    • 在企业注册系统中,验证输入的统一社会信用代码是否合法,确保新注册企业的身份信息准确。
  • 合作伙伴审核
    • 当与其他企业建立合作关系时,通过验证其统一社会信用代码来核实企业的真实性和合法性。

五、JavaScript验证示例代码

代码语言:txt
复制
function validateCreditCode(code) {
    var reg = /^[0 - 9A - Z]{18}$/;
    if (!reg.test(code)) {
        return false;
    }
    // 校验码计算相关(简化示例,实际按完整算法)
    var weight = [1, 3, 9, 27, 19, 26, 16, 17, 20, 29, 25, 13, 8, 24, 10, 30, 28];
    var map = { '0': 0, '1': 1, '2': 2, '3': 3, '4': 4, '5': 5, '6': 6, '7': 7, '8': 8, '9': 9, 'A': 10, 'B': 11, 'C': 12, 'D': 13, 'E': 14, 'F': 15, 'G': 16, 'H': 17, 'J': 18, 'K': 19, 'L': 20, 'M': 21, 'N': 22, 'P': 23, 'Q': 24, 'R': 25, 'T': 26, 'U': 27, 'W': 28, 'X': 29, 'Y': 30 };
    var sum = 0;
    for (var i = 0; i < 17; i++) {
        sum += map[code[i]] * weight[i];
    }
    var mod = sum % 31;
    var checkCode = mod === 0? '0' : (31 - mod).toString();
    return code[17] === checkCode;
}

你可以使用validateCreditCode函数来验证一个统一社会信用代码字符串是否合法,例如:

代码语言:txt
复制
var code = "91430100MA4L16JQ9T";
console.log(validateCreditCode(code));

如果遇到验证总是失败的情况:

  1. 输入错误
    • 确保输入的统一社会信用代码字符串没有多余的空格或者隐藏字符。
  • 算法实现问题
    • 在校验码计算部分,如果算法没有严格按照标准实现,会导致验证错误。需要仔细检查权重数组、映射关系以及计算逻辑是否正确。
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

没有搜到相关的文章

扫码

添加站长 进交流群

领取专属 10元无门槛券

手把手带您无忧上云

扫码加入开发者社群

热门标签

活动推荐

    运营活动

    活动名称
    广告关闭
    领券