# @fnzc/nz-bank-account-validator 中文文档

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

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

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

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

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

- 包体积（解压后）：13.7 kB，9 个文件
- 模块格式：CommonJS
- TypeScript 类型：包内自带
- 运行依赖：1 个
- 首次发布：2019-01-30T00:49:08.793Z
- 最新版本发布：2019-08-31T06:59:00.558Z
- 近 30 天下载量：5732（2026-10-15 至 2026-11-13，npm 官方下载统计）
- 已发布版本数：3（近 12 个月 0 个）

## 中文简介

验证新西兰银行账户

## 安装

```sh
npm install @fnzc/nz-bank-account-validator
```

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

## README

# 银行帐户核证人

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

_新西兰银行账户的验证人_

## 安装

```
npm install --save @fnzc/nz-bank-account-validator
```

或者说

```
yarn add @fnzc/nz-bank-account-validator
```

## 使用量

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

-   银行身份证
-   银行分行
-   账户基础
-   后缀 返回布尔值 .

```
var bankAccountValidator = require('@fnzc/nz-bank-account-validator');
bankAccountValidator.isValidNZBankNumber('00', '0000', '00000000', '000');
```

## 算法

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

### 银行账户编号验证

所有银行使用的银行账户编号格式是数字格式,包括下列部分:

-   银行身份证(最多两位数)
-   银行分行(最多4位数)
-   账户基号(最多8位数字)
-   账户后缀(最多4位数).

在内陆收入处处理,每个账户编号部分的字段都最大。 如果提供的数字少于最大数,则数值是正确的,并用零加字段(如适用).

验证过程的第一步是验证银行分行号. 每家银行的身份证,都会分配一系列的分行号码. 如果银行身份证不是以下所列号码之一,或者分行号码未包括在指定的范围内,则银行账户号码无效. 如果分支号码有效,则从下面的“算法”一栏取出适当的代码,并在页面上执行第一段中概述的第二个验证步骤.

| 银行身份证 | 有效分支编号 | 算法 |
| --- | --- | --- |
| 01号 | 0001-0999、1100-1199、1800-1899 | 见附注 |
| 第02条 | 0001 - 0999, 1200 - 1299 (英语) | 见附注 |
| 03号 | 0001-0999、1300-1399、1500-1599、1700-1799、1900-1999 | 见附注 |
| 04号 | 2020-2024 (中文(简体) ) |  |
| 06号 | 0001 - 0999, 1400 - 1499 (英语) | 见附注 |
| 08号 | 6500 - 6599 (英语) | D级 |
| 09个 | 0000 个 | 页:1 |
| 10个 | 5165 - 5169 (中文(简体) ) | 见附注 |
| 第11个 | 5000 - 6499, 6600 - 8999 (英语) | 见附注 |
| 第12条 | 3000 - 3299, 3400 - 3499, 3600 - 3699 (英语) | 见附注 |
| 第13条 | 4900 - 4999 (英语) | 见附注 |
| 页:1 | 4700 - 4799 (英语) | 见附注 |
| 15个 | 3900 - 3999 (英语) | 见附注 |
| 16个 | 4400 - 4499 (英语) | 见附注 |
| 页:1 | 3300-3399 (中文(简体) ) | 见附注 |
| 第 18 条 | 3500 - 3599 (英语) | 见附注 |
| 第 19 条 | 4600 - 4649 (中文(简体) ) | 见附注 |
| 20国 | 4100 - 4199 (中文(简体) ) | 见附注 |
| 21国 | 4800 - 4899 (英语) | 见附注 |
| 22个 | 4000 - 4049 (英语) | 见附注 |
| 第23条 | 3700 - 3799 (英语) | 见附注 |
| 24个 | 4300 - 4349 (英语) | 见附注 |
| 第25条 | 2500 - 2599 (英语) | 法语 |
| 第 26 条 | 2600-2699 (中文(简体) ) | G级 |
| 27个 | 3800 - 3849 (英语) | 见附注 |
| 第28条 | 2100 - 2149 (英语) | G级 |
| 29个 | 2150 - 2299 (英语) | G级 |
| 30个 | 2900 - 2949 (英语) | 见附注 |
| 31个 | 2800 - 2849 (英语) | 页:1 |
| 33个 | 6700 - 6799 (英语) | 法语 |
| 35个 | 24 -- 2499号 | 见附注 |
| 第38条 | 9000 - 9499 (英语) | 见附注 |
| 88国道 | 8800 - 8805 (英语) |  |

**说明**:如果账户基号低于009900,那么应用算法A,否则应用算法B.

第二个验证步骤是应用于整个帐号的modulus n算法. 算法类型取自上页的表格. 遵循这一进程:

-   将账号中每个位数的相应权重系数标明为下图所示。 注:所有字段(iebankID、Bankbranch、账户基础和账号后缀)都是正确的,并加上了零.
-   将加权因子及其相关账号数字的产品相加. 如果使用 E 或 G 算法,则加上产品的两位数(十和十),然后再次加上相接前结果的两位数(见第16页例3).
-   除以下文“Modulo”一栏中的数值。 如果其余为零,则银行账户号码有效.

| 算法 | 银行 | 处 | 账户基础 | 后缀 | 莫杜罗 |
| --- | --- | --- | --- | --- | --- |
| A 类 | 零点 | 6379 (英语) | 00A58421 (英语) | 0000 个 | 第11个 |
| 页:1 | 零点 | 0000 个 | 00A58421 (英语) | 0000 个 | 第11个 |
| C级 | 页:1 | 0000 个 | 91A53421 (中文(简体) ) | 0000 个 | 第11个 |
| D级 | 零点 | 0000 个 | 07654321 (英语) | 0000 个 | 第11个 |
| 页:1 | 零点 | 0000 个 | 00005432 (英语) | 0001 个 | 第11个 |
| 法语 | 零点 | 0000 个 | 01731731 (英语) | 0000 个 | 10个 |
| G级 | 零点 | 0000 个 | 01371371 (英语) | 0371号 | 10个 |
| 页:1 | 零点 | 0000 个 | 0000000( 千分之一 ) | 0000 个 | 1个 |

**说明1**:算法C目前没有被银行使用. **说明2**: 算法X(为银行编号31)总是验证银行账户号码有效. 它包含在本表中,所以同样的验证逻辑可以适用于所有帐号.

## [更改日志](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-bank-account-validator 是什么？

验证新西兰银行账户

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

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

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

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

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

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

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

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

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

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

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

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

