验证数字,数字范围从0到999999999,可以是小数,但不能为0,在线等……

解决方案 »

  1.   

    为啥要用正则表达式呢? public static boolean checkNumber(String s){
    try{
    double d=Double.parseDouble(s);
    return (d>0 && d<=999999999);
    }
    catch(NumberFormatException n){
    return false;
    }
    }
      

  2.   

    /^0\.\d*[1-9]\d*$|^[1-9]\d{1,8}$|^[1-9]\d{1,7}\.\d*[1-9]\d*$|^[1-9]\d{1,7}[0-8]\.\d*[1-9]\d*$|^[1-9]\d{1,7}9\.0*$/
      

  3.   


    Pattern p = Pattern.compile("[0-9]{1,9}+|[1-9]{1,8}+.[0-9]{1,}+|0.[0-9]{1,}");
     Matcher m = p.matcher("0876.99");
     boolean b = m.matches();
     System.out.println(b);
      

  4.   

    String pattern = "^(?!0(\\d|$))\\d{1,9}(\\.\\d+)?$";
      

  5.   

    Pattern p = Pattern.compile("(([0][.][1-9]{1,9})|[1-9]{1,9}([.][1-9]{1,9})?)");
    Matcher m = p.matcher("1.1");
    boolean b = m.matches();
    System.out.println(b);