@fnzc/nz-ird-validator

中文文档
1.1.0发布于 2020/10/06MITTypeScriptCommonJS零依赖近 30 天下载 2.1万

验证新西兰税号

中文使用文档
文档目录8 节
  1. 安装
  2. 使用量
  3. 算法
  4. IR 编号验证 - modulus 11 位数检查
  5. 检查数字验证
  6. 更改日志
  7. 捐款
  8. 许可证

nz - ird - 验证器

npm

新西兰税号验证器(IRD)

安装

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

或者说

yarn add @fnzc/nz-ird-validator

使用量

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

  • IRD 编号( 正常或破损格式) 返回布尔值 .
var irdValidator = require('@fnzc/nz-ird-validator');
irdValidator.isValidIRDNumber('000-000-000');

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

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号码有效.

更改日志

捐款

欢迎拉动请求.

许可证

版本与发布记录

@fnzc/nz-ird-validator 共发布 6 个版本,首次发布于 2019/01/30;过去 12 个月发布了 0 个版本。

版本发布日期距今
1.1.0latest2020/10/066 年前
1.0.52020/06/176 年前
1.0.42019/01/307 年前
1.0.32019/01/307 年前
1.0.12019/01/307 年前
1.0.02019/01/307 年前

关于 @fnzc/nz-ird-validator 的常见问题

@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 和提交记录判断。