borschai/uk-company-number
GitHub: borschai/uk-company-number
一个零依赖的英国公司注册编号验证、格式化与解析库,支持识别全部27个已知前缀对应的辖区和公司类型,同时提供 npm 和 PyPI 包。
Stars: 0 | Forks: 0
# uk-company-number
验证、格式化和识别英国公司注册处的公司编号。零依赖。
[](https://www.npmjs.com/package/uk-company-number)
[](https://pypi.org/project/uk-company-number/)
[](https://opensource.org/licenses/MIT)
也可作为 [Python 包](https://pypi.org/project/uk-company-number/) 使用 (`pip install uk-company-number`)。
## 功能
- 验证英国公司编号(格式检查)
- 解析为结构化信息(辖区、类型、前缀)
- 格式化/规范化为标准形式
- 支持所有 27 个已知前缀(英格兰与威尔士、苏格兰、北爱尔兰、LLP、LP、海外等)
- 比较两个编号是否相等
- 零依赖
- 包含 TypeScript 类型
- 支持 ESM 和 CommonJS
## 安装
```
npm install uk-company-number
```
## 快速入门
```
import { validate, parse, format } from "uk-company-number";
// Validate
validate("12345678"); // true (England & Wales)
validate("SC123456"); // true (Scotland)
validate("OC301234"); // true (LLP)
validate("XX000000"); // false (unknown prefix)
// Parse
parse("SC123456");
// {
// number: "SC123456",
// prefix: "SC",
// numericPart: "123456",
// jurisdiction: "scotland",
// jurisdictionName: "Scotland",
// type: "ltd",
// typeName: "Private Limited Company"
// }
// Format (normalize)
format("123"); // "00000123"
format("sc 123456"); // "SC123456"
```
## API
### `validate(number: string): boolean`
检查字符串是否为有效的英国公司编号格式。
```
validate("12345678"); // true
validate("SC123456"); // true
validate("OC301234"); // true
validate("OE012345"); // true (Overseas Entity)
validate("00000000"); // false (all zeros)
validate("XX123456"); // false (unknown prefix)
```
### `parse(number: string): CompanyNumberInfo | null`
将公司编号解析为结构化信息。
```
const info = parse("OC301234");
// {
// number: "OC301234",
// prefix: "OC",
// numericPart: "301234",
// jurisdiction: "england-wales",
// jurisdictionName: "England & Wales",
// type: "llp",
// typeName: "Limited Liability Partnership"
// }
```
### `format(number: string): string | null`
将公司编号规范化为其标准形式。
```
format("123"); // "00000123"
format("sc123456"); // "SC123456"
format("OC 301234"); // "OC301234"
format("12.345.678"); // "12345678"
```
### `getJurisdiction(number: string): string | null`
获取辖区标识符。
```
getJurisdiction("12345678"); // "england-wales"
getJurisdiction("SC123456"); // "scotland"
getJurisdiction("NI012345"); // "northern-ireland"
getJurisdiction("SE123456"); // "uk"
```
### `getType(number: string): string | null`
获取公司类型标识符。
```
getType("12345678"); // "ltd"
getType("OC301234"); // "llp"
getType("LP123456"); // "lp"
getType("FC123456"); // "overseas"
getType("SE123456"); // "se"
getType("CE123456"); // "community-interest"
```
### `getPrefix(number: string): string | null`
获取字母前缀(英格兰与威尔士为空字符串)。
```
getPrefix("12345678"); // ""
getPrefix("SC123456"); // "SC"
getPrefix("OC301234"); // "OC"
```
### `equals(a: string, b: string): boolean`
检查两个编号是否指向同一家公司。
```
equals("123", "00000123"); // true
equals("sc123456", "SC123456"); // true
equals("SC123456", "NI123456"); // false
```
### `prefixes(): PrefixInfo[]`
获取所有已知前缀及其描述。
```
prefixes();
// [
// { prefix: "AC", jurisdiction: "england-wales", type: "assurance", ... },
// { prefix: "CE", jurisdiction: "england-wales", type: "community-interest", ... },
// ...
// ]
```
## 支持的前缀
| 前缀 | 辖区 | 类型 | 描述 |
|--------|-------------|------|-------------|
| *(无)* | 英格兰与威尔士 | ltd | 私人有限公司 |
| SC | 苏格兰 | ltd | 私人有限公司 |
| NI | 北爱尔兰 | ltd | 私人有限公司 |
| R | 英格兰与威尔士 | ltd | 旧上市公司(1981年前) |
| OC | 英格兰与威尔士 | llp | 有限责任合伙 |
| SO | 苏格兰 | llp | 有限责任合伙 |
| NC | 北爱尔兰 | llp | 有限责任合伙 |
| FC | 英国 | overseas | 海外公司 |
| SF | 苏格兰 | overseas | 海外公司 |
| NF | 北爱尔兰 | overseas | 海外公司 |
| OE | 英国 | overseas | 海外实体 |
| LP | 英格兰与威尔士 | lp | 有限合伙 |
| SL | 苏格兰 | lp | 有限合伙 |
| NL | 北爱尔兰 | lp | 有限合伙 |
| IP | 英格兰与威尔士 | industrial-provident | 工业 & 互助会 |
| SP | 苏格兰 | industrial-provident | 工业 & 互助会 |
| NP | 北爱尔兰 | industrial-provident | 工业 & 互助会 |
| RC | 英格兰与威尔士 | royal-charter | 皇家特许公司 |
| SR | 苏格兰 | royal-charter | 皇家特许公司 |
| NR | 北爱尔兰 | royal-charter | 皇家特许公司 |
| SE | 英国 | se | 欧洲公司 |
| GE | 英国 | eeig | 欧洲经济利益集团 |
| CE | 英格兰与威尔士 | community-interest | 社区利益公司 |
| CS | 苏格兰 | community-interest | 社区利益公司 |
| AC | 英格兰与威尔士 | assurance | 保险公司 |
| SA | 苏格兰 | assurance | 保险公司 |
| NA | 北爱尔兰 | assurance | 保险公司 |
## 数据来源
基于官方 [Companies House](https://www.gov.uk/government/organisations/companies-house) 公司编号格式规范。
## 需要更多公司数据?
本包用于验证公司编号格式。要查询完整的公司详细信息——财务数据、董事、风险评分、政府信号,以及对 590 万家英国公司的 AI 驱动分析——请访问 [borsch.ai](https://borsch.ai)。
## 许可证
MIT
标签:CMS安全, CommonJS, Companies House, ESM, JavaScript, NPM包, OSV-Scalibr, Python, TypeScript, 公司注册号, 合规验证, 安全插件, 开发工具库, 开源组件, 数据可视化, 数据清洗, 数据解析, 数据验证, 无后门, 暗色界面, 标识符识别, 格式化, 英国公司, 逆向工具, 零依赖