README.md 6.0 KB

randomatic NPM version NPM monthly downloads NPM total downloads Linux Build Status

Generate randomized strings of a specified length, fast. Only the length is necessary, but you can optionally generate patterns using any combination of numeric, alpha-numeric, alphabetical, special or custom characters.

Install

Install with npm:

$ npm install --save randomatic

Usage

var randomize = require('randomatic');

API

randomize(pattern, length, options);
  • pattern {String}: The pattern to use for randomizing
  • length {Object}: The length of the string to generate

pattern

The pattern to use for randomizing

Patterns can contain any combination of the below characters, specified in any order.

Example:

To generate a 10-character randomized string using all available characters:

randomize('*', 10);
//=>

randomize('Aa0!', 10);
//=>
  • a: Lowercase alpha characters (abcdefghijklmnopqrstuvwxyz')
  • A: Uppercase alpha characters (ABCDEFGHIJKLMNOPQRSTUVWXYZ')
  • 0: Numeric characters (0123456789')
  • !: Special characters (~!@#$%^&()_+-={}[];\',.)
  • *: All characters (all of the above combined)
  • ?: Custom characters (pass a string of custom characters to the options)

length

the length of the string to generate

Examples:

  • randomize('A', 5) will generate a 5-character, uppercase, alphabetical, randomized string, e.g. KDJWJ.
  • randomize('0', 2) will generate a 2-digit random number
  • randomize('0', 3) will generate a 3-digit random number
  • randomize('0', 12) will generate a 12-digit random number
  • randomize('A0', 16) will generate a 16-character, alpha-numeric randomized string

If length is left undefined, the length of the pattern in the first parameter will be used. For example:

  • randomize('00') will generate a 2-digit random number
  • randomize('000') will generate a 3-digit random number
  • randomize('0000') will generate a 4-digit random number...
  • randomize('AAAAA') will generate a 5-character, uppercase alphabetical random string...

These are just examples, see the tests for more use cases and examples.

chars

Type: String

Default: undefined

Define a custom string to be randomized.

Example:

  • randomize('?', 20, {chars: 'jonschlinkert'}) will generate a 20-character randomized string from the letters contained in jonschlinkert.
  • randomize('?', {chars: 'jonschlinkert'}) will generate a 13-character randomized string from the letters contained in jonschlinkert.

Usage Examples

  • randomize('A', 4) (whitespace insenstive) would result in randomized 4-digit uppercase letters, like, ZAKH, UJSL... etc.
  • randomize('AAAA') is equivelant to randomize('A', 4)
  • randomize('AAA0') and randomize('AA00') and randomize('A0A0') are equivelant to randomize('A0', 4)
  • randomize('aa'): results in double-digit, randomized, lower-case letters (abcdefghijklmnopqrstuvwxyz)
  • randomize('AAA'): results in triple-digit, randomized, upper-case letters (ABCDEFGHIJKLMNOPQRSTUVWXYZ)
  • randomize('0', 6): results in six-digit, randomized nubmers (0123456789)
  • randomize('!', 5): results in single-digit randomized, valid non-letter characters (~!@#$%^&()_+-={}[];\',.)
  • randomize('A!a0', 9): results in nine-digit, randomized characters (any of the above)

The order in which the characters are defined is insignificant.

About

Related projects

  • pad-left: Left pad a string with zeros or a specified string. Fastest implementation. | homepage
  • pad-right: Right pad a string with zeros or a specified string. Fastest implementation. | homepage
  • repeat-string: Repeat the given string n times. Fastest implementation for repeating a string. | homepage

Contributing

Pull requests and stars are always welcome. For bugs and feature requests, please create an issue.

Contributors

| Commits | Contributor
| | --- | --- | | 36 | jonschlinkert | | 1 | TrySound | | 1 | paulmillr |

Building docs

(This document was generated by verb-generate-readme (a verb generator), please don't edit the readme directly. Any changes to the readme must be made in .verb.md.)

To generate the readme and API documentation with verb:

$ npm install -g verb verb-generate-readme && verb

Running tests

Install dev dependencies:

$ npm install -d && npm test

Author

Jon Schlinkert

License

Copyright © 2016, Jon Schlinkert. Released under the MIT license.


This file was generated by verb-generate-readme, v0.2.0, on November 24, 2016.