pwd-checker
v1.0.5
Published
Validate password requirements, or any other string
Downloads
14
Maintainers
Readme
Getting started
This plugin is built for both Node and the Browser, no environment assumptions are made, though it does make use of ECMA5 methods. Depending on the browsers you support you might have to use ECMA5 polyfills.
This plugin is installed via a simple npm command:
npm install pwd-checker
Then simply require the module:
var pwdChecker = require("pwd-checker");
Interface
Password checker has a simple interface of 3 methods, one core method (validate), and 2 convenience methods (isValid and countValidations). All methods require at least two arguments:
- first argumentmust be the criteria object
- all subsequent arguments must be strings. NOTE: only the first string will be passed through validation tests. If it passes, all subsequent strings will be matched against the first string).
validate returns an object, similar to the criteria object, with the result of each test.
isValid returns a boolean value (true or false) for the validation test.
countValidations returns the number of passed tests in the validation process.
Criteria object
The criteria object determines which tests your string(s) will go through.
- lowercase: true or false, requires at least 1 lowercase letter
- uppercase: true or false, requires at least 1 uppercase letter
- number: true or false, requires at least one numeric character
- symbol: true or false, requires at least one non alpha-numeric character
- minLength: integer, string must contain at least minLength characters
- maxLength: integer, string must contain at most maxLength characters
- disallow: array of strings, each string will be converted to a REGEX equivalent as a blocking test. If any of the regex tests return true, validation fails.
Example
var pwdChecker = require("pwd-checker"),
criteria = {
lowercase: false,
uppercase: true,
number: true,
symbol: true,
minLength: 6,
maxLength: 20,
disallow: ["password", "[!\? ]"]
};
pwdChecker.isValid(criteria, "password123");
// returns false, many criteria are not met
pwdChecker.countValidations(criteria, "apassWord123");
//returns 6
pwdChecker.isValid(criteria, "#123Word");
// returns true, all criteria are met
pwdChecker.validate(criteria, "123!OKpassword");
/* returns
{
lowercase: true,
uppercase: true,
number: true,
symbol: true,
minLength: true,
maxLength: true,
disallow: false
}
*/