我试图在文本表单字段中仅允许数字和点。
我有类似的东西
WhitelistingTextInputFormatter(RegExp("\d*[.]\d*"))
但是不起作用,因此:任何人都知道如何只能允许数字和点?
答案 0 :(得分:1)
WhitelistingTextInputFormatter
“创建仅允许插入白名单字符模式的格式化程序” 。这意味着您的模式应该与任何1位数字或1个点匹配。
此外,如果要对正则表达式转义使用单个反斜杠,则需要使用原始字符串文字。
使用
WhitelistingTextInputFormatter(RegExp(r"[\d.]"))
请注意,如果要验证整个输入顺序,则需要定义validator: validateMyInput
,然后添加
String validateMyInput(String value) {
Pattern pattern = r'^\d+(?:\.\d+)?$';
RegExp regex = new RegExp(pattern);
if (!regex.hasMatch(value))
return 'Enter Valid Number';
else
return null;
}