Home > Mobile >  Restrict "0" in First Character in Flutter
Restrict "0" in First Character in Flutter

Time:03-28

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"),
                                        ),

CodePudding user response:

Use this :

   inputFormatters: <TextInputFormatter>[
                                FilteringTextInputFormatter.allow(
                                  RegExp(r'[0-9]'),
                                ),
                                FilteringTextInputFormatter.deny(
                                  RegExp(
                                      r'^0 '), //users can't type 0 at 1st position
                                ),
                              ],

CodePudding user response:

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"),
    ),
  • Related