This an Angular 9+ implementation of ng2-password-strength-bar.
npm install ng9-password-strength-bar --save
git clone https://github.com/rnadler/ng9-password-strength-bar.git
cd ng9-password-strength-bar
npm install
npm run build ng9-password-strength-bar
npm run start ng9-password-strength-bar-app
# Open browser to http://localhost:4200npm run test ng9-password-strength-bar-app
# Will run the tests once with the Firefox browserimport { Ng9PasswordStrengthBarModule } from 'ng9-password-strength-bar';
//...
@NgModule({
//...
declarations: [
AppComponent,
//...
],
imports: [
BrowserModule,
FormsModule,
Ng9PasswordStrengthBarModule,
//...
//...
})
export class AppModule {}
@Component({
selector: 'my-app',
template: `
<h3>Angular 2 Password Strength Bar</h3>
<div>
<form name="myForm" novalidate>
<input type="password" class="form-control" id="password" name="password" placeholder="Enter password"
[(ngModel)]="account.password" #password="ngModel"
minlength="5" maxlength="50" required>
<ng9-password-strength-bar
[passwordToCheck]="account.password"
[barLabel]="barLabel"
[customThresholds]="thresholds"
[barColors]="myColors">
</ng9-password-strength-bar>
</form>
</div>
`,
})
export class App {
public account = {
password: <string>null
};
public barLabel: string = "Password strength:";
public myColors = ['#DD2C00', '#FF6D00', '#FFD600', '#AEEA00', '#00C853'];
public thresholds = [90, 75, 45, 25];
// ...
}
<ng9-password-strength-bar
[passwordToCheck]="account.password"
[barLabel]="barLabel"
[barColors]="myColors"
[baseColor]="baseColor"
[strengthLabels]="strengthLabels"
[customThresholds]="thresholds"
(onStrengthChanged)="strengthChanged($event)">
</ng9-password-strength-bar>
colors[0]
, ..., the highest picks colors[4]
.['#F00', '#F90', '#FF0', '#9F0', '#0F0']
public baseColor = '#FFF';
public strengthLabels = ['(Useless)', '(Weak)', '(Normal)', '(Strong)', '(Great!)'];
[90, 70, 40, 20]
strengthChanged(strength: number) {
this.strength = strength;
}