generate = function (options) { // Set defaults. options = options || {}; if (!options.hasOwnProperty('length')) options.length = 10; if (!options.hasOwnProperty('numbers')) options.numbers = false; if (!options.hasOwnProperty('symbols')) options.symbols = false; if (!options.hasOwnProperty('exclude')) options.exclude = ''; if (!options.hasOwnProperty('uppercase')) options.uppercase = true; if (!options.hasOwnProperty('excludeSimilarCharacters')) options.excludeSimilarCharacters = false; if (!options.hasOwnProperty('strict')) options.strict = false; if (options.strict) { var minStrictLength = 1 + (options.numbers ? 1 : 0) + (options.symbols ? 1 : 0) + (options.uppercase ? 1 : 0); if (minStrictLength > options.length) { throw new TypeError('Length must correlate with strict guidelines'); } } // Generate character pool var pool = lowercase; // uppercase if (options.uppercase) { pool += uppercase; } // numbers if (options.numbers) { pool += numbers; } // symbols if (options.symbols) { pool += symbols; } // similar characters if (options.excludeSimilarCharacters) { pool = pool.replace(similarCharacters, ''); } // excludes characters from the pool var i = options.exclude.length; while (i--) { pool = pool.replace(options.exclude[i], ''); } var password = generate(options, pool); return password; }
...
#### `generate([options])`
Generate one password with the given options. Returns a string.
```javascript
var generator = require('generate-password');
var password = generator.generate({
length: 10,
numbers: true
});
// 'uEyMTw32v9'
console.log(password);
```
...
generateMultiple = function (amount, options) { var passwords = []; for (var i = 0; i < amount; i++) { passwords[i] = self.generate(options); } return passwords; }
...
#### `generateMultiple(amount[, options])`
Bulk generate multiple passwords at once, with the same options for all. Returns an array.
```javascript
var generator = require('generate-password');
var passwords = generator.generateMultiple(3, {
length: 10,
uppercase: false
});
// [ 'hnwulsekqn', 'qlioullgew', 'kosxwabgjv' ]
console.log(passwords);
```
...
generate = function (options) { // Set defaults. options = options || {}; if (!options.hasOwnProperty('length')) options.length = 10; if (!options.hasOwnProperty('numbers')) options.numbers = false; if (!options.hasOwnProperty('symbols')) options.symbols = false; if (!options.hasOwnProperty('exclude')) options.exclude = ''; if (!options.hasOwnProperty('uppercase')) options.uppercase = true; if (!options.hasOwnProperty('excludeSimilarCharacters')) options.excludeSimilarCharacters = false; if (!options.hasOwnProperty('strict')) options.strict = false; if (options.strict) { var minStrictLength = 1 + (options.numbers ? 1 : 0) + (options.symbols ? 1 : 0) + (options.uppercase ? 1 : 0); if (minStrictLength > options.length) { throw new TypeError('Length must correlate with strict guidelines'); } } // Generate character pool var pool = lowercase; // uppercase if (options.uppercase) { pool += uppercase; } // numbers if (options.numbers) { pool += numbers; } // symbols if (options.symbols) { pool += symbols; } // similar characters if (options.excludeSimilarCharacters) { pool = pool.replace(similarCharacters, ''); } // excludes characters from the pool var i = options.exclude.length; while (i--) { pool = pool.replace(options.exclude[i], ''); } var password = generate(options, pool); return password; }
...
#### `generate([options])`
Generate one password with the given options. Returns a string.
```javascript
var generator = require('generate-password');
var password = generator.generate({
length: 10,
numbers: true
});
// 'uEyMTw32v9'
console.log(password);
```
...
generateMultiple = function (amount, options) { var passwords = []; for (var i = 0; i < amount; i++) { passwords[i] = self.generate(options); } return passwords; }
...
#### `generateMultiple(amount[, options])`
Bulk generate multiple passwords at once, with the same options for all. Returns an array.
```javascript
var generator = require('generate-password');
var passwords = generator.generateMultiple(3, {
length: 10,
uppercase: false
});
// [ 'hnwulsekqn', 'qlioullgew', 'kosxwabgjv' ]
console.log(passwords);
```
...