美文网首页
flutter限制输入框TextField输入两位小数的数字

flutter限制输入框TextField输入两位小数的数字

作者: 碧桃鹦鹉 | 来源:发表于2020-07-03 19:44 被阅读0次
class UsNumberTextInputFormatter extends TextInputFormatter {
  RegExp regExp;

  UsNumberTextInputFormatter({int digitsCount = 2}) {
    String string =
        r'^(([0])|([1-9][0-9]*)|(([0]\.\d{0,count}|[1-9][0-9]*\.\d{0,count})))$';
    string = string.replaceAll(RegExp(r'count'), '$digitsCount');
    regExp = RegExp(string);
  }

  @override
  TextEditingValue formatEditUpdate(
      TextEditingValue oldValue, TextEditingValue newValue) {
    return oldValue.text.length > newValue.text.length ||
            regExp.hasMatch(newValue.text)
        ? newValue
        : oldValue;
  }
}

其实在android代码里实现这个功能可以完全不依靠正则就能实现。

相关文章

网友评论

      本文标题:flutter限制输入框TextField输入两位小数的数字

      本文链接:https://www.haomeiwen.com/subject/ckdeqktx.html