luhn-generator
DefinitelyTyped icon, indicating that this package has TypeScript declarations provided by the separate @types/luhn-generator package

0.6.0 • Public • Published

Luhn Generator

A generator of numbers that passes the validation of Luhn algorithm or Luhn formula, also known as the "modulus 10" or "mod 10" algorithm

npm install luhn-generator --save

Usage

  • ECMAScript Harmony
    import luhn from '../dist/luhn';
    luhn.generate(1, { pad: 12 }); // 000000000018
  • CommonJS
    $ node
    > const luhn = require('../dist/luhn');
    > luhn.generate(1, { pad: 12 }); // 000000000018
  • AMD
    <!-- amd.html -->
    <html>
      <body>
        <script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.5/require.min.js"></script> 
        <script>
          window.requirejs(['dist/luhn.min'], function(luhn) {
            console.log(luhn.generate(1, { pad: 12 })); // 000000000018
          });
        </script> 
      </body>
    </html>
  • Script Tag
    <!-- script-tag.html -->
    <html>
      <body>
        <script src="./dist/luhn.min.js"></script> 
        <script>
          console.log(luhn.generate(1, { pad: 12 })); // 000000000018
        </script> 
      </body>
    </html>

Generate Luhn "check digit" for number 1:

luhn.checksum(1); // 8
luhn.checksum(12); // 5

Generate number that will pass Luhn algorithm validation:

luhn.generate(1); // 18
luhn.generate(12); // 125
luhn.generate(1, { pad: 5 }); // 00018

Generate random number that will pass Luhn algorithm validation:

luhn.random(12); // 6436204626980
luhn.random(50); // 54833184596638864915195736286128781213916608803535
luhn.random(12, { pad: 50 }); // 00000000000000000000000000000000000004591785326079

Validate number with Luhn algorithm:

luhn.validate(1); // false
luhn.validate(18); // true
luhn.validate(125); // true

To Do

  • Add page with examples
  • Add card number generation

Package Sidebar

Install

npm i luhn-generator

Weekly Downloads

3,806

Version

0.6.0

License

MIT

Unpacked Size

49.4 MB

Total Files

18604

Last publish

Collaborators

  • rromanovsky