mirror of
https://github.com/sigmasternchen/jsPasswordChecker
synced 2025-03-16 00:08:55 +00:00
68 lines
2.7 KiB
Markdown
68 lines
2.7 KiB
Markdown
# 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
|
||
|
||
```
|