在Edittext中输入数值时如何在键入时检查模式##。###

时间:2012-09-22 10:11:52

标签: java android

mPattern = Pattern.compile("([1-9]{1}[0-9]{0,2}([0-9]{3})*(\\.[0-9]{0,2})?
                            |[1-9]{1}[0-9]{0,}(\\.[0-9]{0,2})?|0(\\.[0-9]{0,2})? 
                            |(\\.[0-9]{1,2})?)");

上面是模式,但在输入值时没有正确检查edittext中的值。

任何人都可以帮助我

验证像这样的输入

12.325
95.365
85.665
87.256

1 个答案:

答案 0 :(得分:1)

从我的正则表达式中我可以看出,您希望允许1-3位数字,然后是可选的.,后跟1-3位数字。此外,您似乎想要允许表单0.##.###。这验证了这些规范:

mPattern = Pattern.compile("[1-9][0-9]{0,2}(\\.[0-9]{1,3})?|0?\\.[0-9]{1,3}");