ng-password-strength v0.3.0
ng-password-strength
Password strength checker wrapped in an angular directive Based on:
- http://blog.brunoscopelliti.com/angularjs-directive-to-test-the-strength-of-a-password
bruno: http://blog.brunoscopelliti.com/angularjs-directive-to-test-the-strength-of-a-password
Examples
See app/index.html
in the respository.
Live example
Usage
Bower should add
ng-password-strength.min.js
to you main file (index.html)you can download this by:
- using bower and running
bower install ng-password-strength
downloading the production version or the development version.
min: https://raw.github.com/subarroca/ng-password-strength/master/dist/ng-password-strength.min.js
max: https://raw.github.com/subarroca/ng-password-strength/master/dist/ng-password-strength.js
In your web page:
<script src="ng-password-strength/dist/scripts/ng-password-strength.js"></script> <script src="lodash/lodash.js"></script>
Bower should add
ng-password-strength
to your main file (index.html). Some of them are not automatically added so you'd better check them.<script src="bower_components/angular/angular.js"></script> <script src="bower_components/lodash/lodash.js"></script> <script src="bower_components/ng-password-strength/dist/ng-password-strength.js"></script>
Set
ng-password-strength
as a dependency in your modulevar myapp = angular.module('myapp', ['ngPasswordStrength'])
Add ng-password-strength directive to the wanted element, example:
<div ng-password-strength="pass"> .... </div>
Accepted addtional params:
strength: value returned 0-100
css-mode: 'foundation' or 'bootstrap'. Sets inner-class, inner-class-prefix, outter-class-prefix. No need to set one by one
- inner-class: inner bar class (i.e. 'progress-bar')
- inner-class-prefix: inner bar class prefix (i.e. 'progress-bar-' => 'progress-bar-success')
outter-class-prefix: root element class prefix (i.e. 'progress-bar-' => 'progress-bar-success')
calculation-mode: 'formula' (default) or 'entropy'. Formula is explained below
- goal: only used in entropy mode. Fixes the amount to reach. Default: 96
Formula
Values limited to 0-100
Pros:
- Number of Characters
+ n*4
- Uppercase Letters (if any uppercase)
+ (len-n)*2
- Lowercase Letters (if any lowercase)
+ (len-n)*2
- Numbers (if any letter)
+ n*4
- Symbols
+ n*6
- Middle Numbers or Symbols
+ n*2
- Requirements
+ n*2
- Number of Characters
Cons:
- Letters Only
- n
- Numbers Only
- n
- Repeat Characters (Case Insensitive)
- (n/len) *10
- Consecutive Uppercase Letters
- n*2
- Consecutive Lowercase Letters
- n*2
- Consecutive Numbers
- n*2
- Sequential Letters (3+)
- n*3
- Sequential Numbers (3+)
- n*3
- Sequential Symbols (3+)
- n*3
- Letters Only
TODO
Create tests
Changelog
v0.3.0
- formula calculation moved to factory
- added entropy calculation in a new factory
- template moved to detached html
v0.2.0
- added dependency: lodash
- removed dependencies: bootstrap, ng-lodash
- added classes for further customization
- added modes for faster customization: foundation, bootstrap
v0.1.0
- added dependency: ng-lodash
- removed dependencies: underscore.string
- changed compass to node-sass
v0.0.8
- lodash update
v0.0.7
- strength value feedback
v0.0.6
- change underscore to lodash
v0.0.1
- formula-based value calculations
9 years ago