OTP inputs built in pure JS for React-Native

react-native-otp-inputs

OTP inputs built in pure JS for React-Native.

react-native-otp-inputs is fully customizable, pure JavaScript package, that provides solution for One-time password feature with user friendly events like moving to previous input with backspace or going to next when filled in. It supports pasting and otp code into inputs

Supported version of React Native >= 0.53.0

It's because of onKeyPress event implementation on android.

Basic usage

import React, { Component } from 'react'
import { View } from 'react-native'
import OtpInputs from 'react-native-otp-inputs'

export default class App extends Component {
  render() {
    return (
      <View style={styles.container}>
        <OtpInputs handleChange={code => console.log(code)} numberOfInputs={6} />
      </View>
    )
  }
}

API

Method Type Required Default Description
autoCapitalize string false 'none' Defines input auto capitalization (only use with keyboardType)
clearTextOnFocus boolean false false Defines if input text should be cleared on focus
containerStyles style (object) false none Styles applied to whole container
errorMessage string false none Error message that is displayed above inputs
errorMessageContainerStyles style (object) false none Styles applied to error message container
errorMessageTextStyles style (object) false none Styles applied to error message text
focusedBorderColor string false #0000ff borderColor of input when focused
handleChange function true console.log Returns otp code which is typed in inputs
inputContainerStyles style (object) false none Styles applied to each input container
inputsContainerStyles style (object) false none Styles applied to inputs container
inputTextErrorColor string false #ff0000 Color of text inside input container when error is passed in
keyboardType string true 'phone-pad' Keyboard type for inputs
numberOfInputs number true (1..6) 4 How many inputs should be rendered
secureTextEntry boolean false false Defines if input will hide text inside
selectTextOnFocus boolean false true Defines if input text should be selected on focus
unfocusedBorderColor string false transparent borderColor of input when not focused

GitHub