Password Strength

jQuery Password Strength Meter.

jQuery Password Strength documentation

How to use?

Copy-paste the following <script> near the end of your pages under JS Implementing Plugins to enable it.

<script src="../../assets/vendor/pwstrength-bootstrap/dist/pwstrength-bootstrap.min.js"></script>

Copy-paste the following <script> near the end of your pages under JS Implementing Plugins to enable it.

<script src="../../assets/js/hs.pwstrength.js"></script>

Copy-paste the init function under JS Plugins Init., before the closing </body> tag, to enable it.

<script>
  $(document).on('ready', function () {
    // initialization of password strength module
    $('.js-pwstrength').each(function () {
      var pwstrength = $.HSCore.components.HSPWStrength.init($(this));
    });
  });
</script>

Basic example

Password strength:

New password must be 8-20 characters long. Tip: Make it hard to guess (wrong: password123).

<form id="changePasswordForm" class="js-validate">
  <!-- Input -->
  <div class="mb-6">
    <div class="js-form-message">
      <label class="input-label">
        New password
      </label>

      <div class="form-group">
        <input id="passwordStrength" type="password" class="js-pwstrength form-control" name="passwordStrength" placeholder="Enter your password" aria-label="Enter your password"
                 data-hs-pwstrength-options='{
                   "ui": {
                     "container": "#changePasswordForm",
                     "viewports": {
                       "progress": "#passwordStrengthProgress",
                       "verdict": "#passwordStrengthVerdict"
                     },
                     "progressExtraCssClasses": "bg-white h-4rem"
                   }
                 }'>
      </div>
    </div>
  </div>
  <!-- End Input -->

  <div class="w-lg-50">
    <!-- Password Strength -->
    <div class="mb-6">
      <div class="d-flex justify-content-between mb-2">
        <h3 class="h6">Password strength:</h3>
        <span id="passwordStrengthVerdict"></span>
      </div>

      <div id="passwordStrengthProgress" class="mb-2"></div>

      <p class="small">New password must be 8-20 characters long. Tip: Make it hard to guess (wrong: password123).</p>
    </div>
    <!-- End Password Strength -->

    <!-- Buttons -->
    <button type="submit" class="btn btn-sm btn-primary transition-3d-hover mr-1">Save Password</button>
    <button type="submit" class="btn btn-sm btn-soft-secondary transition-3d-hover">Cancel</button>
    <!-- End Buttons -->
  </div>
</form>

JavaScript behavior

Extend

Plugin methods are called using a wrapper:

<script>
  $(document).on('ready', function () {
    // initialization of password strength
    $('.js-pwstrength').each(function () {
      var pwstrength = $.HSCore.components.HSPWStrength.init($(this));

      $.HSCore.components.HSPWStrength.methods($(this), "destroy"); // matches $(this).pwstrength("destroy");
    });
</script>

Attributes

By assigning a variable, you can call the standard methods of the plugin:

data-hs-pwstrength-options='{
  ...
}' - array

Methods

Options can be passed via data attributes or JavaScript. For data attributes, append the option name to data-hs-pwstrength-options='{}'. For more detailed or missing attributes/functions, see the official jQuery Password Strength documentation documentation page.