randomatic

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 randomizinglength{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 numberrandomize('0', 3)will generate a 3-digit random numberrandomize('0', 12)will generate a 12-digit random numberrandomize('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 numberrandomize('000')will generate a 3-digit random numberrandomize('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 injonschlinkert.randomize('?', {chars: 'jonschlinkert'})will generate a 13-character randomized string from the letters contained injonschlinkert.
Usage Examples
randomize('A', 4)(whitespace insenstive) would result in randomized 4-digit uppercase letters, like,ZAKH,UJSL... etc.randomize('AAAA')is equivelant torandomize('A', 4)randomize('AAA0')andrandomize('AA00')andrandomize('A0A0')are equivelant torandomize('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.