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 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 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.