You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为TextFormField编写支持负数与小数的RegExp InputFormatter规则

正则匹配规则实现

你需要的正则表达式为 r'^-?\d+(\.\d+)?$',各部分含义如下:

  • ^:匹配输入字符串的开始位置,避免规则头部出现非法字符
  • -?:匹配0个或1个负号,保证负号仅能出现在内容最开头,且最多出现1次
  • \d+:匹配至少1位数字,对应整数部分,无长度限制
  • (\.\d+)?:匹配0个或1组「小数点+至少1位小数」的结构,保证最多仅存在1个小数点,且小数点后必须带有数字
  • $:匹配输入字符串的结束位置,避免规则尾部出现非法字符

完整的 TextFormField 用法示例:

TextFormField(
  inputFormatters: [
    FilteringTextInputFormatter.allow(RegExp(r'^-?\d+(\.\d+)?$'))
  ]
)

内容的提问来源于stack exchange,提问作者Userrrrrr

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 19:18:03