1.0.3 • Published 5 years ago

se-orgnr-validator v1.0.3

Weekly downloads
113
License
MIT
Repository
github
Last release
5 years ago

se-orgnr-validator

Build Status npm Coverage Status JavaScript Style Guide GitHub

Validator for Swedish company registration numbers (organisationsnummer) in Node.js.

Fast, small and no dependencies.

Install

$ npm install se-orgnr-validator

Usage

const orgnrValidator = require('se-orgnr-validator')

orgnrValidator('556016-0680')
//=> true

orgnrValidator(5560160680)
//=> true

orgnrValidator(55610160680)
//=> false

API

orgnrValidator(input)

input

Type: string

The number to validate. Accepts either a string or an integer, meaning that you may omit the dash between the first 6 and the last 4 digits.

Test

npm test

Benchmark

This module was partly created since I needed a quick solution for validating Swedish company registration numbers that had OK performance and quality. After looking at some other options available, I found some issues with them. For your convenience, here is my summarised benchmark test. Please note however, that this module was not purely written for speed reasons, and could probably be improved even further.

Tested with the following datasets:

  • 500 correct numbers (gathered from https://poit.bolagsverket.se)
  • 1 000 000 generated numbers that were too long (but with correct checksum)
  • 1 000 000 generated numbers that have either 0 or 1 as its third digit (but with correct lenght and checksum)
  • 1 000 000 randomly generated numbers (but with correct lenght and checksum)
  • 1 000 000 randomly generated numbers with incorrect checksum (but with correct lenght)

The beenchmark was performed towards:

Tests made on Windows 10, 2.5GHz, 9GB RAM. Average of three iterations.

https://github.com/eckberg/se-orgnr-validatorhttps://github.com/perarnborg/se-org-no
Correct numbers3ms16ms
Long numbers160ms217ms
Third digit121ms2.31s
Random191ms1.70s
Checksum190ms2.84s