var reg=/^\d*[1-9](\.\d{1,2}){0,1}$/g; alert(reg.test("0"));
这个不能判断是否等于0://答案应为T T T T F F,实为T T T T F T String[] source = {"1","222.3","3.45",".5","0.012","0.0"}; String pattern = "^[0-9]*([.][0-9]{1,2})?$"; for(String s:source){ System.out.println(Pattern.matches(pattern,s)); } 看来只能采用先判断是否满足,满足的话再转为数字和0比。(js的话可以直接和0比)看看有没有更好的办法?
楼主【wanmingshusheng】截止到2008-07-24 12:33:43的历史汇总数据(不包括此帖):
发帖的总数量:3 发帖的总分数:40 每贴平均分数:13
回帖的总数量:3 得分贴总数量:0 回帖的得分率:0%
结贴的总数量:3 结贴的总分数:40
无满意结贴数:0 无满意结贴分:0
未结的帖子数:0 未结的总分数:0
结贴的百分比:100.00% 结分的百分比:100.00%
无满意结贴率:0.00 % 无满意结分率:0.00 %
敬礼!
var reg=/^\d*[1-9](\.\d{1,2}){0,1}$/g;
alert(reg.test("0"));
String[] source = {"1","222.3","3.45",".5","0.012","0.0"};
String pattern = "^[0-9]*([.][0-9]{1,2})?$";
for(String s:source){
System.out.println(Pattern.matches(pattern,s));
}
看来只能采用先判断是否满足,满足的话再转为数字和0比。(js的话可以直接和0比)看看有没有更好的办法?
String pattern = "^(\\d*[1-9](\\.\\d{1,2}){0,1})|(0+\\.[1-9][0-9]?)|(0+\\.[0-9][1-9])$";
for(String s:source){
System.out.println(Pattern.matches(pattern,s));
}2.JS版
var reg=/^(\\d*[1-9](\\.\\d{1,2}){0,1})|(0+\\.[1-9][0-9]?)|(0+\\.[0-9][1-9])$/g;
alert(reg.test("0"));
比如10.0,10.01就有错
String pattern = "^(\\[1-9](\\.\\d{1,2}){0,1})|(\\d+\\.[1-9][0-9]?)|(\\d+\\.[0-9][1-9])$";
for(String s:source){
System.out.println(Pattern.matches(pattern,s));
}
String pattern = "^(\\d*[1-9]\\d*(\\.\\d{1,2}){0,1})|(\\d+\\.[1-9][0-9]?)|(\\d+\\.[0-9][1-9])$";
for(String s:source){
System.out.println(Pattern.matches(pattern,s));
}