New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

uk-modulus-check

Package Overview
Dependencies
Maintainers
0
Versions
24
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

uk-modulus-check

## Overview

  • 2.0.6
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
1.9K
decreased by-19.8%
Maintainers
0
Weekly downloads
 
Created
Source

UKModulusCheck

Overview

TypeScript class that validates UK bank account details using the modulus checking algorithm.

It only users vanilla typescript, and can be used on the frontend.

Vocalink periodically updates the txt files here mapping sort-code ranges to validation weights. We currently use v7-90 (valid from 17 August 2024).

Status

Build Status

Installation

npm install uk-modulus-check

See here for the NPM package.

Usage

import {validateAccountDetails} from "uk-modulus-check";


console.log(validateAccountDetails('180002', '00000190')); // true
console.log(validateAccountDetails('938063', '15763217')); // false
const {validateAccountDetails} = require("uk-modulus-check");

console.log(validateAccountDetails('180002', '00000190')); // true
console.log(validateAccountDetails('938063', '15763217')); // false

Details

This specification details logic to differentiate valid vs. invalid pairs of sort-code and account number.

A mathematical algorithm compares the two values, and check if the two can be paired together legitimately.

This page details any changes to the specification.

Technicalities

In general, I tried to minimise risk of returning false for a valid bank account.

  1. if an account has an unseen sort code (not covered by any range in src/data/valacdos), any combination of sort-code and account number will be considered valid. This is because the Vocalink data doesn't seem to have 100% coverage.

  2. I find the specification a bit confusing for some examples, specifically when 2 checks are run on the same account. I mark the account as valid if either of the two validations pass, for cases where multiple validations are provided for the same account. The specific test-cases are 23, 27, 28.

Both (1) and (2) might lead to a small % of 'false positives'.

License

MIT

Credits

Thanks to uphold/uk-modulus-checking for creating a good Javascript implementation.

It doesn't seem to have been updated since valacdos-v640 (12/10/2020), and I'm not sure it can be used directly in the frontend given 'fs' dependency, which motivates the creation of this package.

Keywords

FAQs

Package last updated on 25 Sep 2024

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc