Giter Club home page Giter Club logo

react-native-text-input-mask's Introduction


React-Native-Text-Input-Mask

Text input mask for React Native on iOS and Android.

๐Ÿ“ Additional Features

  • Rewritten with React Hooks.
  • Eslint-config updated to 1.1.0.
  • Fix "componentWillReceiveProps" Warnings.
  • Fix "FATAL EXCEPTION: IndexOutOfBoundsException".
  • Fix "Android Backspace Rendering Issue".

ONLY TESTED IN ANDROID 9.

๐Ÿ’ป Examples

React Native Text Input Mask iOS React Native Text Input Mask Android

๐Ÿ—๏ธ Setup

npm install --save drawciamage/react-native-text-input-mask
# --- or ---
yarn add https://github.com/drawciamage/react-native-text-input-mask.git

๐Ÿ’ป Installation

For RN >= 0.61

iOS

  1. Add following lines to your target in Podfile
use_frameworks!
pod 'RNInputMask', :path => '../node_modules/react-native-text-input-mask/ios/InputMask'
  1. Run following command
cd ios && pod install

Android

No need to do anything.

For RN = 0.60.*

iOS

  1. In XCode, in the project navigator, right click your [your project's name] folder, choose โžœ Add Files to [your project's name]

Create Swift File

  1. Select Swift File โžœ Next

Create Swift File

  1. Specify name for example Dummy.swift โžœ Create

Create Swift File

  1. Now a pop up is shown select Create Bridging Header

Create Swift File

  1. Add following line to your target in Podfile
pod 'RNInputMask', :path => '../node_modules/react-native-text-input-mask/ios/InputMask'
  1. Run following command
cd ios && pod install

Android

No need to do anything.

For RN < 0.60

Auto Linking

react-native link react-native-text-input-mask

iOS only: you have to drag and drop InputMask.framework to Embedded Binaries in General tab of Target

Manual installation

iOS

  1. In XCode, in the project navigator, right click Libraries โžœ Add Files to [your project's name]
  2. Go to node_modules โžœ react-native-text-input-mask and add RNTextInputMask.xcodeproj
  3. In XCode, in the project navigator, select your project. Add libRNTextInputMask.a to your project's Build Phases โžœ Link Binary With Libraries
  4. Run your project (Cmd+R)

Android

  1. Open up android/app/src/main/java/[...]/MainActivity.java
  • Add import com.RNTextInputMask.RNTextInputMaskPackage; to the imports at the top of the file
  • Add new RNTextInputMaskPackage() to the list returned by the getPackages() method
  1. Append the following lines to android/settings.gradle:
    include ':react-native-text-input-mask'
    project(':react-native-text-input-mask').projectDir = new File(rootProject.projectDir, 	'../node_modules/react-native-text-input-mask/android')
    
  2. Insert the following lines inside the dependencies block in android/app/build.gradle: compile project(':react-native-text-input-mask')

๐Ÿ‘จโ€๐Ÿซ Usage

import React, { useRef } from "react";
import TextInputMask from 'react-native-text-input-mask';
...
const input = useRef();
<TextInputMask
  refInput={ref => { input.current = ref }}
  onChangeText={(formatted, extracted) => {
    console.log(formatted) // +1 (123) 456-78-90
    console.log(extracted) // 1234567890
  }}
  mask={"+1 ([000]) [000] [00] [00]"}
/>
...

๐Ÿ“ More info

RedMadRobot Input Mask Android

RedMadRobot Input Mask IOS

๐Ÿ“† Versioning

This project uses semantic versioning: MAJOR.MINOR.PATCH. This means that releases within the same MAJOR version are always backwards compatible. For more info see semver.org.

react-native-text-input-mask's People

Watchers

 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.