仅在 textField Flutter 中输入偶数

Input only even numbers in textField Flutter

那么,TextFormField 用户只能插入偶数的方式是否可行?现在他们无法输入例如 12,这就是问题所在。

                    child: TextFormField(
                      inputFormatters: [
                        FilteringTextInputFormatter.deny(RegExp("[1,3,5,7,9]"))
                      ],
                      keyboardType: TextInputType.number,
                    ),

偶数或奇数只看最后一位即可,最后一位也需要是偶数或奇数。所以奇数运行的正则表达式可以是:

"$\s*(\d*[13579]\s*,\s*)*\d*[13579]$"

使用正则表达式如下

child: TextFormField(
                      inputFormatters: [
                        FilteringTextInputFormatter.deny(RegExp("$\s*(\d*[13579]\s*,\s*)*\d*[13579]$"))
                      ],
                      keyboardType: TextInputType.number,
                    ),

为了拒绝偶数使用正则表达式

"$\s*(\d*[02468]\s*,\s*)*\d*[02468]$"