A small, zero dependency Javascript NZ bank account validation library that runs everywhere.
It is up to date with the IRD 2025 guidance and the PaymentsNZ Bank Branch Register which includes a number of branches not included in the IRD 2020 documentation.
Forked from Josh Hollinshead's nz-bank-account-validator
.
The project was converted to Typescript and updated without any changes to the API.
Using npm:
$ npm i --save nz-bank-validator
Using yarn:
$ yarn add nz-bank-validator
In Node.js (require):
const bankValidator = require("nz-bank-validator");
bankValidator.validate("01-902-0068389-00");
// => true
ES6 Modules:
import bankValidator from "nz-bank-validator";
bankValidator.validate("01-902-0068389-00");
// => true
const bankValidator = require("nz-bank-validator");
bankValidator.getId("01-902-0068389-00"); // '01'
bankValidator.getBranch("01-902-0068389-00"); // '02'
bankValidator.getBase("01-902-0068389-00"); // '0068389'
bankValidator.getSuffix("01-902-0068389-00"); // '00'
bankValidator.getPartsObject("01-902-0068389-00"); // { id: '01', branch: '902', base: '0068389', suffix: '00' }
bankValidator.validate("01-902-0068389-00"); // true
bankValidator.validate({
id: "01",
branch: "902",
base: "0068389",
suffix: "00",
}); // true
bankValidator.validate("01-902-XXXXX-00"); // false
bankValidator.validate("01-902--00"); // false
bankValidator.validate("01-902-123456-00"); // false
To run the tests locally:
npm i
npm run tests
This project is licensed under the MIT License - see the LICENSE.md file for details