正则表达式:要求:求“非0开头,可以为0, 0-9999.99之间,两位小数的正则表达式”

当然 还可以为0-9999之间的整数

第1个回答  2012-03-14
java:
System.out.println("9999.00".matches("(([1-9]\\d{0,3})|0)(\\.\\d{0,2})?"));
javaScript
alert(/^(([1-9]\d{0,3})|0)(\.\d{0,2})?$/.test("01"));追问

如果不能为0呢?
([1-9]\\d{0,3})(\\.\\d{0,2})?$改成这样么???

追答

是的

第2个回答  2012-03-14
0.3也算0开头的,也不要?
^0$|^[1-9]\d*.\d{2}$追问

0.3当然要啊,只是不能为01;01.2这样的数据

追答

1.1要吗
1.10要吗