Home

Awesome

🔓 vue-password-strength-meter

Build Status npm version vue2 license

ko-fi

Interactive password strength meter based on zxcvbn for vue.js

<p align="center"> <img src="/static/demo.gif" alt="🔓" title="🔓 Demo" /> </p>

📺 Demo

Demo here

🔧 Install

yarn add vue-password-strength-meter zxcvbn

👈 Usage


<template>
  <password v-model="password"/>
</template>

<script>
  import Password from 'vue-password-strength-meter'
  export default {
    components: { Password },
    data: () => ({
      password: null
    })
  }
</script>

👈 With events


<template>
  <password
    v-model="password"
    :toggle="true"
    @score="showScore"
    @feedback="showFeedback"
  />
</template>

<script>
  import Password from 'vue-password-strength-meter'
  export default {
    components: { Password },
    data: () => ({
      password: null
    }),
    methods: {
      showFeedback ({suggestions, warning}) {
        console.log('🙏', suggestions)
        console.log('⚠', warning)
      },
      showScore (score) {
        console.log('💯', score)
      }
    }
  }
</script>

With custom input

<template>
  <div>
    <input type="password" v-model="password">
    <password v-model="password" :strength-meter-only="true"/>
  </div>
</template>

<script>
  import Password from 'vue-password-strength-meter'
  export default {
    components: { Password },
    data: () => ({
      password: null
    })
  }
</script>

Props

PropTypeDefault ValueDescription
secureLengthNumber7password min length
badgeBooleantruedisplay password count badge
toggleBooleanfalseshow button to toggle password visibility
showPasswordBooleanfalseIf you are not using the toggle button you can directly show / hide the password with this prop
defaultClassStringPassword__fieldinput field class
disabledClassStringPassword__field--disableddisabled input field class
errorClassStringPassword__badge--errorerror class for password count badge
successClassStringPassword__badge--successsuccess class for password count badge
strengthMeterClassStringPassword__strength-meterstrength-meter class
strengthMeterFillClassStringPassword__strength-meter--fillstrength-meter class for individual data fills
showStrengthMeterBooleantrueHide the Strength Meter if you want to implement your own
strengthMeterOnlyBooleanfalseHides the built-in input if you want to implement your own
labelHideString'Hide Password'Label for the hide icon
labelShowString'Show Password'Label for the show icon
userInputsArrayempty arrayArray of strings that zxcvbn will treat as an extra dictionary
referenceValueString'input'Prop to change the ref of the input. This way you can have the input outside of the component.

Events

Show / Hide Password

💅 Customizing

You can customize the styling of the input field, badge and strength-meter by passing your own css classes to defaultClass, strengthMeterClass etc.

Build Setup

# install dependencies
npm install

# serve with hot reload at localhost:8080
npm run dev

# build for production with minification
npm run build

# run unit tests
npm run unit

# run all tests
npm test

For detailed explanation on how things work, checkout the guide and docs for vue-loader.

Support

<a href="https://www.buymeacoffee.com/xcqjaytbl" target="_blank"><img src="https://www.buymeacoffee.com/assets/img/custom_images/purple_img.png" alt="Buy Me A Coffee" style="height: auto !important;width: auto !important;" ></a>