Generate a random string (lower/upper alphabets, digits, symbols) of specified length, and satisfying the specified constraints
If no constraints are specified, the library assumes all characters are allowed
Main use case: password or temporary token generation
As of 9 May 2021, this function has been subsumed into the ack_inc/node-utils repo
This package will no longer be updated
const rsg = require('@ack_inc/rand-str');
console.log(rsg(<anything but a whole number>)); //=> throws TypeError
console.log(rsg(0)); //=> ""
console.log(rsg(5)); //=> "3`8aE"
console.log(rsg(5, { lowercase: true })); //=> "fewjk"
console.log(rsg(5, { lowercase: true, uppercase: true, digits: true, symbols: true })); //=> "%q31G"
Generate a string of length nChars
that satisfies constraints
Required. Must be a whole number.
Object specifying what characters can be in the generated string. It can have the following keys:
Key | Type | Effect |
---|---|---|
lowercase | Boolean | if true , include lowercase characters |
uppercase | Boolean | if true , include uppercase chracters |
digits | Boolean | if true , include digits |
symbols | Boolean | if true , include symbols |
If constraints
is not provided or is empty, it is assumed that all characters are allowed
- Constraint: whitelisted chars
- Constraint: blacklisted chars
- Constraint: symbols that can be part of a url-component (See https://stackoverflow.com/questions/695438/what-are-the-safe-characters-for-making-urls)