A small, zero dependency NZ bank account validation library that runs everywhere.
npm install nz-bank-validatorA 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:
``shell`
$ npm i --save nz-bank-validator
Using yarn:
`shell`
$ yarn add nz-bank-validator
In Node.js (require):
`js
const bankValidator = require("nz-bank-validator");
bankValidator.validate("01-902-0068389-00");
// => true
`
ES6 Modules:
`js
import bankValidator from "nz-bank-validator";
bankValidator.validate("01-902-0068389-00");
// => true
`
`js
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:
`shell``
npm i
npm run tests
This project is licensed under the MIT License - see the LICENSE.md file for details