@8bu/vue-otp-input

Simple & Flexible OTP Style Input
9,953
Install
npm install @8bu/vue-otp-input
Latest Version:1.2.2
Vue:2
License:MIT
Last Updated:Jun 17, 2020
Links: npm
Maintainer: 8bu

Simple Vue OTP Style Input

GitHub Release GitHub Activity License BuyMeCoffee

Only support Vue.js 2.2.x+

Any polyfill error (missing functions...etc) can be fixed by import polyfill lib or config polyfill for webpack & babel. I removed all polyfill due to this recommend

alt text

Working demo

Installation

Global:
// main
import Vue from 'vue';
import OTPInput from '@8bu/vue-otp-input';
Vue.use(OTPInput);


Component:
<script>
import OTPInput from '@8bu/vue-otp-input';
import '@8bu/vue-otp-input/';
module.export = {
  name: 'you-component',
  components: {
    'otp-input': OTPInput,
  }
}
</script>

Usage

<template>
  <otp-input
    v-model="userToken"
    class="field-container"
    :length="6"
    pattern="[^0-9]+"
    :ignorePattern="false"
    fieldClass="custom-field-class"
    :size="32"
    @valid="isTokenComplete"
    disabled={false}
  />
</template>

Properties

v-model is supported by default.

Prop Type Required Default Description
class string ❌ ❌ Outer class container
length number/string ✔️ 4 Number of expected characters
pattern string ❌ [^0-9]+ Regex pattern of individual character input
ignorePattern boolean ❌ false Turn off character validation
fieldClass string ❌ ❌ Custom class for each input character
size number/string ❌ 16 Font size of input character (input size = 1.75 x font size).
disabled boolean ❌ false Working like native disabled
password boolean ❌ false Change all input type to password

Events

Name Param: Type Description
change value: string Return string result of user input
valid isValid: boolean Validate whenever user input to see if the input have been fully filled.

Limitation

Mobile devices may not have paste & backscape/delete feature. I'm working on another approach for this issue.

Change logs

From v1.2.0+, I will note some simple change log to keep track my changes.

1.2.1


  • Add submit event when user press Enter
  • Focus is now select a whole input field

1.2.0


  • Fix mobile input issue
  • Update new prop password for changing input type to password

Contributions are welcome!

If you want to contribute to this please read the Contribution guidelines


Related Packages

vue-input-otp

https://github.com/wobsoriano/vue-input-otp/assets/13049130/c5080f41-f411-4d38-a...

2,132,109 90
@bachdgvn/vue-otp-input

A fully customizable, one-time password input component for the web built with V...

202,248 125
@thedoctor0/vue-input-mask

Input mask directive for Vue.js - lightweight, dependency free, written in TypeS...

4,195 4
vue-fake-input

Custom input for individual characters

1,549

Version History

Version Released Vue License
1.2.2 ^2.6.10 MIT
1.2.1 ^2.6.10 MIT
1.2.0 ^2.6.10 MIT
1.1.9 ^2.6.10 MIT
1.1.8 ^2.6.10 MIT
Pre-releases (7)
Version Released Vue License
1.0.1-b ^2.6.10 MIT
1.0.1-g ^2.6.10 MIT
1.0.1-f ^2.6.10 MIT
1.0.1-e ^2.6.10 MIT
1.0.1-d ^2.6.10 MIT