数据库类型NUMBER(15,2) 
想用正则表达式判断页面接收的数据,非负 
单独判断比较好弄 组合就不会了 
谢谢各位 符:var regu = "^[0-9]+[\.][0-9]{0,2}$"; 实数 2位小数 

解决方案 »

  1.   


    import java.util.regex.Matcher;
    import java.util.regex.Pattern;public class RegexTest{
    public static void main(String[] args){
    String str1 = "23434232.34";//符合
    String str2 = "-234234.24";//不符合
    String str3 = "234342.343";//不符合
    System.out.println(checkData(str3));
    } public static boolean checkData(String str){
    String regex = "^\\d{0,15}(\\.\\d{0,2})?$";
    Pattern pattern = Pattern.compile(regex);
    Matcher matcher = pattern.matcher(str);
    return matcher.matches();
    }
    }用这个可以,但是你也可以尝试下用Formatter来做,先用Formatter整理成实数两位,然后判断是否相等。然后直接判断是否大于零即可。
      

  2.   

    下面限制了如果存在小数部分的话就只能取两位String regex = "^\\d{0,15}(\\.\\d{2})?$";