No description
Find a file
overflowerror b6b04ffe3a Merge pull request #1 from Arthour/patch-1
Update jsPasswordChecker.js
2017-08-12 11:49:11 +02:00
jsPasswordChecker.js Update jsPasswordChecker.js 2017-08-11 14:37:43 +02:00
LICENSE Initial commit 2017-08-05 21:42:40 +02:00
README.md Update README.md 2017-08-06 12:22:02 +02:00
test.html first commit 2017-08-05 21:46:29 +02:00
testcases.js first commit 2017-08-05 21:46:29 +02:00

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:

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

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