Smallish password strength utility, 0️⃣ external dependencies. Self code only.
npm i password-strength-score --saveAlternatively you may use yarn:
yarn add password-strength-scoreLink to npm: https://www.npmjs.com/package/password-strength-score
Basic
import { passwordStrength } from 'password-strength-score';
passwordStrength('pass'); // returns 1 because password has only lowercase chars
passwordStrength('pass1'); // returns 2 because password has lowercase chars and a numberStrength meter component utility
import { passwordStrength, PasswordStrength } from 'password-strength-score';
import chroma from 'chroma-js';
const getPasswordScoreGradientColor = (password) => {
const score = passwordStrength(password);
chroma
.scale(['#FF4047','#00FF6E'])
.mode('rgb')
.colors(PasswordStrength.MaxScore); // generate colors array between #FF4047 - #00FF6E
return colors[score]; // Returns one color between #FF4047 - #00FF6E
};| Flag | Test | Points |
|---|---|---|
| isLong | password.length > 6 | 1 |
| isVeryLong | password.length > 12 | 1 |
| hasUppercase | /[a-z]/ | 1 |
| hasLowercase | /[A-Z]/ | 1 |
| hasNumbers | /\d/ | 1 |
| hasNonalphas | /\W/ | 1 |
| Option | Description | Default |
|---|---|---|
| isLong | Length for password to be consider as long | 6 |
| isVeryLong | Length for password to be consider as very long | 12 |
| withoutUppercase | Turn off score point for uppercase char occurrence | false |
| withoutLowercase | Turn off score point for lowercase char occurrence | false |
| withoutNumbers | Turn off score point for numbers occurrence | false |
| withoutNonalphanumerics | Turn off score point for alphanumerics char occurrence | false |
This package is fully tested with total coverage set to . If you found any issue please report it here.
Made with 💖 by Bartlomiej Zuber ([email protected]) while traveling around the world, and licensed under the MIT License