@netsells/password-validator
v5.0.4
Published
Validates password according to flexible and intuitive specifications
Downloads
94
Readme
Install
npm install password-validator
Usage
var passwordValidator = require('password-validator');
// Create a schema
var schema = new passwordValidator();
// Add properties to it
schema
.is().min(8) // Minimum length 8
.is().max(100) // Maximum length 100
.has().uppercase() // Must have uppercase letters
.has().lowercase() // Must have lowercase letters
.has().digits() // Must have digits
.has().not().spaces() // Should not have spaces
.is().not().oneOf(['Passw0rd', 'Password123']); // Blacklist these values
// Validate against a password string
console.log(schema.validate('validPASS123'));
// => true
console.log(schema.validate('invalidPASS'));
// => false
// Get a full list of rules which failed
console.log(schema.validate('joke', { list: true }));
// => [ 'min', 'uppercase', 'digits' ]
Rules
Rules supported as of now are:
| Rules | Descriptions | |:---------------|:-----------------------------------------------------------------| |digits() | specifies password must include digits | |letters() | specifies password must include letters | |lowercase() | specifies password must include lowercase letters | |uppercase() | specifies password must include uppercase letters | |symbols() | specifies password must include symbols | |spaces() | specifies password must include spaces | |min(len) | specifies minimum length | |max(len) | specifies maximum length | |oneOf(list) | specifies the whitelisted values | |not([regex])| inverts the result of validations applied next | |is() | inverts the effect of not() | |has([regex])| inverts the effect of not() and applies a regex (optional) |
Options
The following options can be passed to validate
method:
list
- If set, validate method returns a list of rules which failed instead of true/false.
Resources
For APIs of other older versions, head to Wiki.