'Restrict "0" in First Character in Flutter
How to restrict "0" should not be placed at the first character in the text field in Flutter? Below is the sample dart code.
TextField(
inputFormatters: <TextInputFormatter>[
FilteringTextInputFormatter.allow(
RegExp("[0-9\u0660-\u0669]")),
],
keyboardType: TextInputType.number,
focusNode: _nodeText1,
controller: mobileNumber,
decoration: InputDecoration.collapsed(
fillColor: TuxedoColor.whiteColor,
hintText: "5xxxxxxxx"),
),
Solution 1:[1]
Use this :
inputFormatters: <TextInputFormatter>[
FilteringTextInputFormatter.allow(
RegExp(r'[0-9]'),
),
FilteringTextInputFormatter.deny(
RegExp(
r'^0+'), //users can't type 0 at 1st position
),
],
Solution 2:[2]
Try below code use FilteringTextInputFormatter.deny
TextField(
inputFormatters: <TextInputFormatter>[
FilteringTextInputFormatter.allow(RegExp("[0-9\u0660-\u0669]")),
FilteringTextInputFormatter.deny(RegExp(r'^0+')),
],
keyboardType: TextInputType.number,
decoration: InputDecoration.collapsed(hintText: "5xxxxxxxx"),
),
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|---|
| Solution 1 | Arijeet |
| Solution 2 | Ravindra S. Patil |
