Flutter 在每 3 个数字文本字段输入后添加破折号并限制图形输入的数量
Flutter add dash after every 3 number textfield input and limit number of figure input
我正在寻找一种在 flutter textformfield 中输入每个数字后添加 ( - ) 并将输入数量限制为仅 9 位数的方法。例如 145-123-234。如果有人可以提供帮助,我将不胜感激。
us 输入格式化程序:
inputFormatters: [ FilteringTextInputFormatter.allow(RegExp('[0-9,-]')),
LengthLimitingTextInputFormatter(9),
],
这可能会帮助您输入数字的数量将正常工作,并且 3 之后的破折号的正则表达式将根据您的情况而改变,您的情况可能会改变。
您可以使用 mask text formatter package 示例用法:
var maskFormatter = new MaskTextInputFormatter(
mask: '+# (###) ###-##-##', filter: {"#": RegExp(r'[0-9]')});
TextField(
inputFormatters: [ maskFormatter],
autoFocus: false,
inputType: TextInputType.phone,
inputAction: TextInputAction.done,
},
),
所以我安装了这个flutter_masked_text
并将库导入我的输入页面,将我的 TextFormField
控制器更改为 MaskedTextController _controllerCode = MaskedTextController(mask: '000-000-000');
然后在 TextFormField
中将 _controllerCode
解析为 controller
最后我的 Widget
如下所示:
MaskedTextController _controller = MaskedTextController(mask: '000-000-000');
@override
Widget build(BuildContext context) {
return TextField(
controller: _controller,
decoration: InputDecoration(
hintText: 'e.g. 101-234-190',
),
);
}
}```
我正在寻找一种在 flutter textformfield 中输入每个数字后添加 ( - ) 并将输入数量限制为仅 9 位数的方法。例如 145-123-234。如果有人可以提供帮助,我将不胜感激。
us 输入格式化程序:
inputFormatters: [ FilteringTextInputFormatter.allow(RegExp('[0-9,-]')), LengthLimitingTextInputFormatter(9), ],
这可能会帮助您输入数字的数量将正常工作,并且 3 之后的破折号的正则表达式将根据您的情况而改变,您的情况可能会改变。
您可以使用 mask text formatter package 示例用法:
var maskFormatter = new MaskTextInputFormatter(
mask: '+# (###) ###-##-##', filter: {"#": RegExp(r'[0-9]')});
TextField(
inputFormatters: [ maskFormatter],
autoFocus: false,
inputType: TextInputType.phone,
inputAction: TextInputAction.done,
},
),
所以我安装了这个flutter_masked_text
并将库导入我的输入页面,将我的 TextFormField
控制器更改为 MaskedTextController _controllerCode = MaskedTextController(mask: '000-000-000');
然后在 TextFormField
中将 _controllerCode
解析为 controller
最后我的 Widget
如下所示:
MaskedTextController _controller = MaskedTextController(mask: '000-000-000');
@override
Widget build(BuildContext context) {
return TextField(
controller: _controller,
decoration: InputDecoration(
hintText: 'e.g. 101-234-190',
),
);
}
}```