js中统一社会信用代码校验规则
// 统一社会信用代码checkSocialCardNumber(value) {if (value == "") {return false;} else {var firstarray = ["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",];var firstkeys = [3, 7, 9, 10, 5, 8, 4, 2];var secondarray = ["0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F","G","H","J","K","L","M","N","P","Q","R","T","U","W","X","Y",];var secondkeys = [1, 3, 9, 27, 19, 26, 16, 17, 20, 29, 25, 13, 8, 24, 10, 30, 28,];function calc(code, array1, array2, b) {var count = 0;for (var i = 0; i < array2.length; i++) {var a = code[i];count += array2[i] * array1.indexOf(a);}var remainder = count % b;return remainder === 0 ? 0 : b - remainder;}var code = value.toUpperCase();if (code.length != 18) {console.log(1);return false;}var reg = /^\w\w\d{6}\w{9}\w$/;if (!reg.test(code)) {console.log(2);return false;} else {/*登记管理部门代码:使用阿拉伯数字或大写英文字母表示。机构编制:1民政:5工商:9其他:Y*/let reg1 = /^[1,5,9,Y]\w\d{6}\w{9}\w$/;if (!reg1.test(code)) {console.log(3);return false;} else {/*机构类别代码:使用阿拉伯数字或大写英文字母表示。机构编制机关:11打头机构编制事业单位:12打头机构编制中央编办直接管理机构编制的群众团体:13打头机构编制其他:19打头民政社会团体:51打头民政民办非企业单位:52打头民政基金会:53打头村民委员会:54打头民政其他:59打头工商企业:91打头工商个体工商户:92打头工商农民专业合作社:93打头其他:Y1打头*/let reg2 = /^(11|12|13|19|21|31|32|33|34|35|41|51|52|53|54|55|61|62|59|71|72|81|91|92|93|A1|G1|J1|N1|N2|N3|Y1)\d{6}\w{9}\w$/;if (!reg2.test(code)) {console.log(4);return false;} else {/*登记管理机关行政区划码:只能使用阿拉伯数字表示。按照GB/T 2260编码。例如:四川省成都市本级就是510100;四川省自贡市自流井区就是510302。*/let reg3 = /^(11|12|13|19|21|31|32|33|34|35|41|51|52|53|54|55|61|62|59|71|72|81|91|92|93|A1|G1|J1|N1|N2|N3|Y1)\d{6}\w{9}\w$/;if (!reg3.test(code)) {console.log(5);return false;} else {var firstkey = calc(code.substr(8), firstarray, firstkeys, 11);var firstword;if (firstkey < 10) {firstword = firstkey;}if (firstkey == 10) {firstword = "X";} else if (firstkey == 11) {firstword = "0";}if (firstword != code.substr(16, 1)) {console.log(6);return false;}else {var secondkey = calc(code, secondarray, secondkeys, 31);var secondword = secondarray[secondkey];if (!secondword || secondword != code.substr(17, 1)) {console.log(7);return false;}else {var word = code.substr(0, 16) + firstword + secondword;if (code != word) {console.log(8);return false;}else {console.log(9);return true}}}}}}}}},
转载于:https://blog.csdn.net/Syracuse123_?type=blog
参考链接:https://www.lmlphp.com/user/57840/article/item/2658937/
https://www.hftfund.com/contents/2019/10/10-3c400690bdb34720a22ad68e22956601.html
js中统一社会信用代码校验规则相关推荐
- 组织机构代码和统一社会信用代码校验规则以及java校验工具类
组织机构代码 编码规则编辑 1.全国组织机构代码由八位数字(或大写拉丁字母)本体代码和一位数字(或大写拉丁字母)校验码组成. 本体代码采用系列(即分区段)顺序编码方法. 校验码按照以下公式计算: C9 ...
- Python实现统一社会信用代码校验(GB32100-2015)
Python实现统一社会信用代码校验 统一社会信用代码国标校验 统一社会信用代码国标校验规则 示例说明 Python代码实现(仅实现GB- 32100-2015中的规则) 统一社会信用代码国标校验 ...
- JS实现统一社会信用代码的效验(组织机构代码效验)
参考原文https://blog.csdn.net/hdhxby/article/details/56015370 部分错误,修改整合了下 想查询数据的,请点击:统一信用代码查询地址 查看效验规则点击 ...
- hive自定义函数实现组织机构代码、统一社会信用代码校验
一.根据中华人民共和国国家标准全国组织机构代码(9位)编制规则实现规则校验 1.组织机构代码编码规则 1.1组织机构代码的组成 全国组织机构代码由八位数字(或大写拉丁字母)本体代码和一位数字(或大写拉 ...
- 全网唯一正确身份证和社统一社会信用代码自定义表单校验器(身份证校验和社统一社会信用代码校验)
话不多说,直入正题: 1.工具类: import * as moment from 'moment'; import {isUndefined} from 'util'; import {Abstra ...
- 实现统一社会信用代码校验
社会信用代码:由18位数字和大写的字母组成,第1位是登记管理部门代码,第2位是机构类别代码,第3~8位登记管理机关行政区划码,第9~17位主休标识码,第18位校验码.有五个部分组成. 具体详情请点击: ...
- 全国组织机构统一社会信用代码校验 - Java 版
主要是网上错误的代码太多,为了避免大家踩坑,特此更正,详细规则如下: GB 32100-2015 法人和其他组织统一社会信用代码编码规则 private static final String BAS ...
- 身份证号码及统一社会信用代码校验
/** * 身份证号码验证 * rule为form表单当前验证的filed对应的验证rule规则 * value为当前输入框返回值 * callback为回调函数,验证成功直接回调,验证失败回调函数返 ...
- JAVA 身份证校验与统一社会信用代码校验
B话少说,上代码 原理默认大家都懂了,不懂的话可以百度一下 package com.microlinktech.rns.util;import lombok.Getter; import lombok ...
- (五证合一)法人和其他组织统一社会信用代码编码规则
PDF文档下载地址:http://download.csdn.net/detail/joke01/9339301 文档里面详细写明了统一社会信用代码(俗称五证合一)的编码规则和效验码计算规则.
最新文章
- 他676分考上清华却没微信,看到他的手机后大家沉默了
- Windows下使用explorer批量下载文件
- asp.net三层架构连接Oracle 11g详解
- redis 依赖_springboot|springboot集成redis缓存
- .Net Core 之 Ubuntu 14.04 部署过程
- 构建springmvc+dubbo分布式平台-dubbo简介
- 时尚达人必备的潮流壁纸桌面!
- 《计算机网络课程设计(第2版)》——2.4节课程设计分析
- 售货员的难题(codevs 2596)
- C++11实现模板手柄:委托构造函数、defaultkeyword分析
- 全球及中国汽车零部件用模塑料行业盈利预测及投资前景分析报告2021年版
- SQL2008 视频教程 SQL Server 2008高级视频教程
- 使用曲面细分渲染毛发
- centos篇---安装mysql详细步骤
- Android开发学习总结(一)——搭建最新版本的Android开发环境
- Linux搭建maven私服
- 解决Type interface com.kuang.mapper.UserMapper is not known to the MapperRegistry.的问题
- cps评分和tps评分_【一点资讯】一文总结:PD-1/PD-L1免疫检查点抑制剂和TPS、CPS、IPS...
- 查看UDID的两种方式,连手机查看,不用Mac连接iPhone手机,获取UDID, iOS 设备的一个唯一识别码
- 离散小波变换的FPGA/Verilog实现