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"),
                                        ),
                Use this :
   inputFormatters: <TextInputFormatter>[
                                FilteringTextInputFormatter.allow(
                                  RegExp(r'[0-9]'),
                                ),
                                FilteringTextInputFormatter.deny(
                                  RegExp(
                                      r'^0+'), //users can't type 0 at 1st position
                                ),
                              ],
                        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"),
    ),
                        If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With