如何为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
相关产品推荐
相关产品推荐

