java 在jsp界面写一个正则表达式判断1个string类型值是否为数字。带小数点后两位

大神们哪位知道,java 在jsp界面写一个正则表达式判断1个string类型值是否为数字。带小数点后两位
最新回答
陌生的挚爱

2020-06-21 12:24:08

^[-]?[0-9]+(\\.[0-9]{1,2})?$
^字符串头
[-]?最多一个负号
[0-9]+至少一个数字
(\\.[0-9]{1,2})?如果有小数点,那么小数点后面最少1位最多2位
$字符串结尾
该正则有两个BUG:
如果匹配123.0这样的小数也会正确
如果匹配0123.45这样的也会正确
不是要求特别严格的话应该没有影响。

楼下的^[-+]?(([0-9]+)([.]([0-9]+))?|([.]([0-9]+))?)$
同样有上述2个BUG,并且没有限制小数点后最多2位,将后两个+改成{1,2}就可以限制为小数点后两位了,同理如果你不需要限制小数点后面的个数,将{1,2}改成+就可以。
旭日东山再起

2020-05-17 01:40:50

JS中有一个isnan的东西,就是用来判断是不是数字的啊,直接用就好了嘛
季沫怡

2023-03-12 09:09:05

\d+\.\d{2}
た靑木知湫ッ

2023-08-10 11:25:24

public static boolean isNum(String str){
return str.matches("^[-+]?(([0-9]+)([.]([0-9]+))?|([.]([0-9]+))?)$");
}

调用就好了