Java实现的三证合一统一社会代码校验算法详解
2星 需积分: 50 80 浏览量
更新于2024-09-09
1
收藏 3KB TXT 举报
"该Java代码片段是用于校验"三证合一、一照一码"中的法人和其他组织统一社会代码(统称统一代码)的一种算法。"三证合一"通常指的是将企业营业执照、组织机构代码证和税务登记证合并为一个统一的社会信用代码。这个代码由四个部分组成:前两位为行政区划代码,接下来六位为机构类型代码,然后是八位顺序码,最后一位为校验码,可以是数字或字母Y。
算法的核心部分定义了两个字符串数组(codeNo和staVal),它们分别对应于代码的不同部分,如前两位行政区划代码和顺序码的字符范围。此外,还定义了一个整数数组wi,用于校验码的计算规则,即不同位置的权重。1-18位的权重值分别对应于校验码的生成过程。
校验过程通过正则表达式`^([0-9ABCDEFGHJKLMNPQRTUWXY]{2})([0-9]{6})([0-9ABCDEFGHJKLMNPQRTUWXY]{9})([0-9Y])$`进行匹配。这个正则表达式的结构表明:
1. 第一部分是两组大写字母,代表前两位行政区划代码。
2. 第二部分是六位数字,表示机构类型代码。
3. 第三部分是九位数字或大写字母,作为顺序码。
4. 第四部分只有一位,可能是数字0-9或字母Y,作为校验码。
`Pattern.compile(regex)`用于编译正则表达式,`matcher(str)`则是将待校验的统一代码字符串与模式进行匹配。如果匹配成功,`matcher`对象会提供方法来检查各个部分是否符合规定的格式和逻辑,例如校验码是否根据前面的部分正确计算得出。
这段Java代码是用于验证统一社会信用代码格式的工具,确保其符合GB32100-2015标准,这对于在IT系统中处理和验证此类关键数据至关重要。开发者可以通过调用`checkSCC(String str)`方法,传入统一社会代码,来判断其是否有效。"
133 浏览量
422 浏览量
182 浏览量
2021-04-30 上传
3311 浏览量
315 浏览量
大连小猪
- 粉丝: 0
- 资源: 4
最新资源
- ScrapperAPI:一个News Scrapper API,用于抓取新闻标题,以显示所有列表标题,编辑详细信息标题并使用Django REST Framework删除标题
- Android:Android应用程序源代码-Android application source code
- python_repository:只是一个代码库
- XabarchiNew-main.zip
- leetcode答案-algorithm-91days:算法学习91days
- matthias-ta-morrendo:该网站可实时跟踪我朋友Matthias的健康状况
- 智威汤逊广告培训资料
- 登陆页面
- handshake:WebRTC-握手
- ProjetR:Projet tuto R朱利安·纳比尔·马修(Julien Nabil Mathieu)
- 基本的激励概念激励理论
- datasets:我所有数据集的集合
- Baby-Tracker:Android Baby Tracker应用程序的源代码-Android application source code
- Abaqus 输出矩阵的方法,abaqus阵列,Python源码.zip
- URCON:适用于Minecraft服务器的简单rcon客户端!
- 药丸.github.io:药丸的博客