FilteringTextInputFormatter - 如何创建 RegExp 以防止用户输入多个句点、输入逗号、输入除句点之外的零后的数字等。
试试这个:
TextField(
decoration: InputDecoration(
labelText: 'Enter a number:',
),
keyboardType:
TextInputType.numberWithOptions(decimal: true),
inputFormatters: [
FilteringTextInputFormatter(
RegExp(r'^\d*\.?\d{0,1}$'),
allow: true),
],
),
已解决。
List<TextInputFormatter>? inputFormatters = [
FilteringTextInputFormatter.allow(
RegExp(r'(^\d*\.?\d*)'),
),
FilteringTextInputFormatter.deny(
RegExp(r'\.\.+'),
replacementString: '.',
),
FilteringTextInputFormatter.deny(
RegExp(r'^\.'),
replacementString: '0.',
),
FilteringTextInputFormatter.deny(
RegExp(r'\d+-'),
),
FilteringTextInputFormatter.deny(
RegExp(r'\.-'),
replacementString: '.',
),
FilteringTextInputFormatter.deny(
RegExp(r'-\.+'),
),
FilteringTextInputFormatter.deny(
RegExp(r'^0\d+'),
replacementString: '0.',
),
];
您可以使用这个套餐来获得您需要的东西