# @fnzc/nz-ird-validator 中文文档

规范地址：https://npmcn.com/package/%40fnzc/nz-ird-validator/

版本：1\.1\.0
npm 元数据更新时间：2022-10-12T22:58:19.797Z
中文译文更新时间：2026-11-15T03:35:48.734Z
软件包许可：MIT

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40fnzc/nz-ird-validator
原文对照：https://npmcn.com/package/%40fnzc/nz-ird-validator/?lang=original
项目主页：https://github.com/fnzc/nz-ird-validator#readme
源码仓库：https://github.com/fnzc/nz-ird-validator

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：10.7 kB，8 个文件
- 模块格式：CommonJS
- TypeScript 类型：包内自带
- 运行依赖：0 个
- 首次发布：2019-01-30T00:16:21.443Z
- 最新版本发布：2020-10-06T02:56:46.710Z
- 近 30 天下载量：21124（2026-10-15 至 2026-11-13，npm 官方下载统计）
- 已发布版本数：6（近 12 个月 0 个）

## 中文简介

验证新西兰税号

## 安装

```sh
npm install @fnzc/nz-ird-validator
```

也可以使用：`pnpm add @fnzc/nz-ird-validator`、`yarn add @fnzc/nz-ird-validator`、`bun add @fnzc/nz-ird-validator`

## README

# nz - ird - 验证器

[![npm](https://img.shields.io/npm/v/@fnzc/nz-ird-validator.svg)](https://www.npmjs.com/package/@fnzc/nz-ird-validator)

_新西兰税号验证器(IRD)_

## 安装

```sh
npm install --save @fnzc/nz-ird-validator
```

或者说

```sh
yarn add @fnzc/nz-ird-validator
```

## 使用量

函数需要一个字符串参数 :

-   IRD 编号( 正常或破损格式) 返回布尔值 .

```js
var irdValidator = require('@fnzc/nz-ird-validator');
irdValidator.isValidIRDNumber('000-000-000');
```

允许您指定是否需要破折号 / 不需要破折号 - 默认为不可知( “ 或 ” ) .

```js
validator.configureValidator({requireFormat: 'dashes'})('123-123-123')
```

## 算法

该算法基于内地税收局2016年3月31日发布的"非居民持有税和居民持有税规格文件".

### IR 编号验证 - modulus 11 位数检查

内地税务局使用的IRD编号格式是一个由下列部分组成的八到九位数字:

-   七到八位数基数
-   后面的检查数字

### 检查数字验证

将采取以下步骤:

-   检查有效范围
    -   如果IRD编号为 < 10-000-000或 > 150-000-000,则该编号无效。 这一步骤确保IRD的号码在已经发布的范围内,或在未来10年中有望发布的范围之内.
-   形成八位数基数
    -   删除后面的检查数字 .
    -   如果产生的数字是七位数长,则通过添加正0来将数字加到八位数.
-   计算检查数字
    -   每个基数的八位数都有一个权重系数。 从左到右分别为:3,2,7,6,5,4,3,2.
    -   将加权系数及其相关数字的产物相加.
    -   除以11。 如果剩下的是0,那么计算出的支票数字是0.
    -   如果其余的不是0,则从11起减去所余,并算出数字.
    -   如果计算出的检查数字在0到9之间,则去第5步.
    -   如果计算出的检查数字为10,则继续第4步.
-   重新计算检查数字
    -   每个基数的八位数都有一个次要加权系数。 从左到右分别是:7,4,3,2,5,2,7,6.
    -   将加权系数及其相关数字的产物相加.
    -   除以11。 如果剩下的是0,那么计算出的支票数字是0.
    -   如果其余的不是0,则从11起减去所余,并给出所计算的00位支票数字.
    -   如果计算出的检查数字为10,IRD号码无效. 5. 比较支票数字:
    -   将计算出的检查数字与原始IRD数字的最后数字相比较.
    -   如果匹配,IRD号码有效.

## [更改日志](https://github.com/FNZC/nz-bank-account-validator/blob/master/CHANGELOG.md)

## 捐款

欢迎拉动请求.

## [许可证](https://github.com/FNZC/nz-bank-account-validator/blob/master/LICENSE)

## 常见问题

### @fnzc/nz-ird-validator 是什么？

验证新西兰税号

### 如何安装 @fnzc/nz-ird-validator？

在项目目录运行 npm install @fnzc/nz-ird-validator，或使用 pnpm add / yarn add / bun add。

### @fnzc/nz-ird-validator 支持 TypeScript 吗？

支持。包内自带 TypeScript 类型声明（package\.json 声明了 types 入口），安装后即可获得类型提示，无需再安装 @types 包。

### @fnzc/nz-ird-validator 支持 ESM 还是 CommonJS？

以 CommonJS 形式发布，可以直接 require\(\)；在 ES Module 项目中也可以用 import 引入（Node\.js 会把 module\.exports 作为默认导出）。

### @fnzc/nz-ird-validator 可以商用吗？

@fnzc/nz-ird-validator 使用 MIT 许可。宽松许可：允许商业使用、修改和再分发，通常只需在分发时保留原版权与许可声明。以上为概括，不构成法律意见，请以许可原文为准。

### @fnzc/nz-ird-validator 的下载量有多少？

根据 npm 官方下载统计，@fnzc/nz-ird-validator 在 2026/10/15 – 2026/11/13 这 30 天内被下载 21,124 次，日均约 704 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @fnzc/nz-ird-validator 还在维护吗？

最新版本 1\.1\.0 发布于 2020/10/06（6 年前）；至今共发布 6 个版本，其中过去 12 个月发布了 0 个；首次发布于 2019/01/30。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

