borschai/uk-company-number

GitHub: borschai/uk-company-number

一个零依赖的英国公司注册编号验证、格式化与解析库,支持识别全部27个已知前缀对应的辖区和公司类型,同时提供 npm 和 PyPI 包。

Stars: 0 | Forks: 0

# uk-company-number 验证、格式化和识别英国公司注册处的公司编号。零依赖。 [![npm 版本](https://img.shields.io/npm/v/uk-company-number.svg)](https://www.npmjs.com/package/uk-company-number) [![PyPI 版本](https://img.shields.io/pypi/v/uk-company-number.svg)](https://pypi.org/project/uk-company-number/) [![许可证: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](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, 公司注册号, 合规验证, 安全插件, 开发工具库, 开源组件, 数据可视化, 数据清洗, 数据解析, 数据验证, 无后门, 暗色界面, 标识符识别, 格式化, 英国公司, 逆向工具, 零依赖