1.0.1 • Published 3 years ago

@diama/password-strength-checker v1.0.1

Weekly downloads
-
License
MIT
Repository
github
Last release
3 years ago

password-strength-checker

An Angular library to check input password field strength and return invalid or valid statement with animated bar color.

this library has been built with no dependencies to provide an easy way to use it.

tested with karma and jasmine

Demo

Password strength checker Demo

Versions

Angularversion
>= 5.0.0 < 13.0.0v1.x

Getting started

Step 1: Installing

NPM

npm install --save @diama/password-strength-checker

YARN

yarn add @diama/password-strength-checker

Step 2: Import the PasswordStrengthCheckerModule and angular FormsModule module and also ReactiveFormsModule for using it in reactive forms

import {FormsModule, ReactiveFormsModule} from "@angular/forms";
import {PasswordStrengthCheckerModule} from "password-strength-checker";

@NgModule({
  declarations: [AppComponent],
  imports: [
    PasswordStrengthCheckerModule,
    ReactiveFormsModule,
    FormsModule],
  bootstrap: [AppComponent]
})
export class AppModule {
}

Usage

Define options in your consuming component:

@Component({...})
export class ExampleComponent {
  password = new FormControl('', [Validators.required]);
  myRegex = /^\d+$/;
}

In template use password-strength-checker component with your options

<!--Using ng-option and for loop-->
<form>
  <div>
    <label for="password"> Password</label>
    <input type="password" id="password" [formControl]="password" autocomplete="off">
  </div>
  <password-strength-checker [requiredLength]="8" [password]="password.value" [regexPattern]="myRegex"></password-strength-checker>
</form>

API

Inputs

InputTypeDefaultRequiredDescription
passwordstring | yes | password value to evaluate strength
requiredStrengthnumber8noa required min length of the password passed has input
barColorsstring[]['#FF0000', '#FF7700', '#0CC124']noupdate the bar color to display in UI, first color is for error output,second for password which match perfectly with required length but not with your regex pattern and the last for password which match perfectly with your standard defined
regexPatternRegexp/^[a-zA-Z]+$/noif you want more complexity , its check if password contain some characters that you will define with your regex
feedbacks{errorText: string, mediumText: string, successText: string}{ errorText: 'Must have at least 8 characters', mediumText: 'Add special characters or number', successText: 'Good password'}noto custom output message to show to the user