Giter Club home page Giter Club logo

ng-password-strength's Introduction

ng-password-strength

Password strength checker wrapped in an angular directive Based on:

Examples

See app/index.html in the respository. [Live example] [live-example] [live-example]: http://subarroca.github.io/ng-password-strength/

Usage

  1. Bower should add ng-password-strength.min.js to you main file (index.html)

you can download this by:

In your web page:

<script src="ng-password-strength/dist/scripts/ng-password-strength.js"></script>
<script src="lodash/lodash.js"></script>
  1. 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>
  1. Set ng-password-strength as a dependency in your module
var myapp = angular.module('myapp', ['ngPasswordStrength'])
  1. 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
  • 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

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

ng-password-strength's People

Contributors

almedo avatar csjci avatar davidnovodchuk avatar dennyscott avatar dokenzy avatar scic avatar shoaibmerchant avatar subarroca avatar wml avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.