Flutter 在每 3 个数字文本字段输入后添加破折号,并限制数字输入的数量
我正在寻找一种方法,在 flutter textformfield 中输入每个数字后添加 ( - ) 并将输入数量限制为 9 个数字。例如 145-123-234。如果有人可以提供帮助,我将不胜感激。
I'm looking for a way to add ( - ) after every number input in flutter textformfield and to limit the number of input to just 9 figure. For example 145-123-234. I will appreciate if anyone can help with this.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您可以使用掩码文本格式化程序包示例用法:
You can use mask text formatter package sample usage:
我们输入格式化程序:
inputFormatters:[ FilteringTextInputFormatter.allow(RegExp('[0-9,-]')),
长度限制文本输入格式器(9),
],
这可能会帮助您输入的位数可以正常工作,并且 3 之后的破折号的正则表达式将根据您的情况发生变化,因为您的情况可能会发生变化。
us input formatters:
inputFormatters: [ FilteringTextInputFormatter.allow(RegExp('[0-9,-]')),
LengthLimitingTextInputFormatter(9),
],
this may help you number of input digits will work fine and regex expression for dash after 3 will change in your case in your case may change.
所以我安装了这个 flutter_masked_text
并将库导入到我的输入页面,更改了我的
TextFormField 控制器到
MaskedTextController _controllerCode = MaskedTextController(mask: '000-000-000');
然后解析_controllerCode
到TextFormField
中的controller
,最后我的Widget
如下所示:So I install this flutter_masked_text
And imported the library to my input page, changed my
TextFormField
controller toMaskedTextController _controllerCode = MaskedTextController(mask: '000-000-000');
then parse_controllerCode
tocontroller
in theTextFormField
and finally myWidget
looks like below: