jsPasswordChecker/README.md
2017-08-06 12:22:02 +02:00

68 lines
2.7 KiB
Markdown
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# jsPasswordChecker
This is a little tool I wrote for a friend of mine to determine if certain password criteria are met.
## How to Use
Just include the file (jsPasswordChecker.js) to your project and then:
```javascript
var checker = new PasswordChecker({
// add criteria here
});
checker.check(password);
```
If the given criteria are not met, any exception is thrown.
Simple as that.
## Criteria Object
In the current version the following criteria can be set:
- minLength
- Value: Integer
- Specifies the minimal length of the password.
- maxLength
- Value: Integer
- Specifies the maximal length of the password (Please don't.)
- containsNumbers
- Value: Boolean/Integer
 - If the value is `false` the password must not contain any numbers. if the value is an integer, the password has to contain at least the given number of digits. A value of `true` is identical to `1`.
- containsLowerCaseCharacters
- Value: Boolean/Integer
 - If the value is `false` the password must not contain any lowercase characters. if the value is an integer, the password has to contain at least the given number of lowercase characters. A value of `true` is identical to `1`.
- containsUpperCaseCharacters
- Value: Boolean/Integer
 - If the value is `false` the password must not contain any uppercase characters. if the value is an integer, the password has to contain at least the given number of uppercase characters. A value of `true` is identical to `1`.
- containsWhiteSpaces
- Value: Boolean/Integer
 - If the value is `false` the password must not contain any whitespaces. if the value is an integer, the password has to contain at least the given number of whitespaces. A value of `true` is identical to `1`.
- containsSpecialCharacters
- Value: Boolean/Integer
 - If the value is `false` the password must not contain any special characters. if the value is an integer, the password has to contain at least the given number of special characters. A value of `true` is identical to `1`.
- dictionary
- Value: Array of strings
- The password must not contain any of the given strings (case-insensitive).
- maxCharacterRepetition
- Value: Integer
- Specifies the maximal number of consecutive identical characters.
# Example
```javascript
var checker = new PasswordChecker({
minLength: 10,
containsUpperCaseCharacters: true,
containsLowerCaseCharacters: true,
containsNumbers: 2,
containsWhiteSpaces: false,
dictionary: [
"username",
"dayofbirth"
]
});
checker.check("VeryStrongP4ssword"); // will fail because there is only 1 number in the password
checker.check("Very Str0ng P4ssword"); // will fail because there are whitespaces in the password
checker.check("VeryStr0ngP4ssword"); // won't fail; all criteria satisfied
```