如何在 TextFormFields 中只接受数字?

Ren*_*oya 4 flutter flutter-dependencies flutter-layout

我只想接受TextFormFields 中的数字。我设计了一个TextFormField用于接受电话号码的程序。我已经更改了键盘类型。

keyboardType: TextInputType.phone,
Run Code Online (Sandbox Code Playgroud)

但是,它也可以接受特殊符号或粘贴其他输入。 键盘截图

Rav*_*til 15

尝试下面的代码,请参阅FilteringTextInputFormatter

导入下面的库

import 'package:flutter/services.dart';
Run Code Online (Sandbox Code Playgroud)

你的小部件:第一种方式

    TextFormField(
       keyboardType: TextInputType.number,
       inputFormatters: [FilteringTextInputFormatter.digitsOnly],
    ),
Run Code Online (Sandbox Code Playgroud)

你的小部件:第二种方式(使用RegExp

TextFormField(
  keyboardType: TextInputType.number,
  inputFormatters: [
    FilteringTextInputFormatter.allow(
      RegExp("[0-9]"),
    ),
  ],
),
Run Code Online (Sandbox Code Playgroud)