Site icon Flutter Packages | Pub dev Packages – Flutter Mobile App World

Masked text input formatter for flutter

mask_text_input_formatter

The package provides TextInputFormatter for TextField and TextFormField which format the input by a given mask.

Example

Check ‘example’ folder for code sample

Usage

Follow install guide:

https://pub.dartlang.org/packages/mask_text_input_formatter#-installing-tab-

Import the library:

import 'package:mask_text_input_formatter/mask_text_input_formatter.dart';

Create mask formatter:

var maskFormatter = new MaskTextInputFormatter(mask: '+# (###) ###-##-##', filter: { "#": RegExp(r'[0-9]') });

Set it to text field:

TextField(inputFormatters: [maskFormatter])

Get value

Get masked text:

print(maskFormatter.getMaskedText()); // -> "+0 (123) 456-78-90"

Get unmasked text:

print(maskFormatter.getUnmaskedText()); // -> 01234567890

Change the mask

You can use the updateMask method to change the mask after the formatter was created:

var textEditingController = TextEditingController(text: "12345678");
var maskFormatter = new MaskTextInputFormatter(mask: '####-####', filter: { "#": RegExp(r'[0-9]') });

TextField(controller: textEditingController, inputFormatters: [maskFormatter])  // -> "1234-5678"

textEditingController.value = maskFormatter.updateMask("##-##-##-##"); // -> "12-34-56-78"

Download Masked text input formatter source code on GitHub

Exit mobile version