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