由于不然用Js验证,所以想用java的正则表达式验证。但是没找到那里有这个表达式。
而且第一次接触正则表达式。不知道我这么些有没有错误。
就是想验证页面传过来的值是不是Decimal类型。
比如  10.   --》错误
      10.1   --》
      10.0   --》正确public static boolean isDecimal(String obj) { if (obj.equals(null) || obj.equals("")) {
return false;
}
 
String regEx=""; //表示是Decimal的java正则表达式
 
Pattern p=Pattern.compile(regEx); 
 
Matcher m=p.matcher(obj); 
 
boolean rs=m.matches(); 

return rs;
}

解决方案 »

  1.   

    此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
    楼主【red_spider】截止到2008-07-07 18:08:52的历史汇总数据(不包括此帖):
    发帖的总数量:0                        发帖的总分数:0                        
    结贴的总数量:0                        结贴的总分数:0                        
    无满意结贴数:0                        无满意结贴分:0                        
    未结的帖子数:0                        未结的总分数:0                        
    结贴的百分比:---------------------结分的百分比:---------------------
    无满意结贴率:---------------------无满意结分率:---------------------
    如何结贴请参考这里:http://topic.csdn.net/u/20080501/09/ef7ba1b3-6466-49f6-9d92-36fe6d471dd1.html
      

  2.   

    如果只是排除10.这种 情况的话没有必要用正则表达式吧。
    简单的写了一个
      public  static boolean test(String obj){
            try{
                Double.parseDouble(obj);
            }catch(Exception e){
                return false;
            }
            if(obj.charAt(obj.length()-1)=='.'){
                return false;
            }
            return true;
        }
      

  3.   

    修改一下 
    if(obj.indexOf(".")>0)
    return true;
    替换最后的return true;
      

  4.   

    public  static boolean test(String obj){
            try{
                //obj为null或者不是合法的数字的情况
                Double.parseDouble(obj);
            }catch(Exception e){
                return false;
            }
            //obj以小数点结尾的情况
            if(obj.charAt(obj.length()-1)=='.'){
                return false;
            }
           //确认包含小数点
            if(obj.indexOf(".")>0){
                return true;
            }
            return false;
        }
      

  5.   

    看这里吧,以前总结过 http://www.java2000.net/viewthread.jsp?tid=426