以下是可以验证带小数点的数值。可是不能为负数.求大神帮忙修改修改 .
 分数不够。请见谅
//用 Javascript 实现只能输入浮点型的文本框 例: onpropertychange="checkInputFloat(this); oninput=checkInputFloat(this); " 
System.prototype.checkInputFloat = function (oInput) { 
    if ('' != oInput.value.replace(/\d{1,}\.{0,1}\d{0,}/, '')) {
        oInput.value = oInput.value.match(/\d{1,}\.{0,1}\d{0,}/) == null ? '' : oInput.value.match(/\d{1,}\.{0,1}\d{0,}/);
    }
}

解决方案 »

  1.   

    /**  
         * 检查浮点数  
         * @param num  
         * @param type "0+":非负浮点数 "+":正浮点数 "-0":非正浮点数 "-":负浮点数 "":浮点数  
         * @return  
         */  
        public static boolean checkFloat(String num,String type){   
            String eL = "";   
            if(type.equals("0+"))eL = "^\\d+(\\.\\d+)?$";//非负浮点数   
            else if(type.equals("+"))eL = "^((\\d+\\.\\d*[1-9]\\d*)|(\\d*[1-9]\\d*\\.\\d+)|(\\d*[1-9]\\d*))$";//正浮点数   
            else if(type.equals("-0"))eL = "^((-\\d+(\\.\\d+)?)|(0+(\\.0+)?))$";//非正浮点数   
            else if(type.equals("-"))eL = "^(-((\\d+\\.\\d*[1-9]\\d*)|(\\d*[1-9]\\d*\\.\\d+)|(\\d*[1-9]\\d*)))$";//负浮点数   
            else eL = "^(-?\\d+)(\\.\\d+)?$";//浮点数   
            Pattern p = Pattern.compile(eL);   
            Matcher m = p.matcher(num);   
            boolean b = m.matches();   
            return b;   
        }  
      

  2.   

    哪个大牛们能帮忙将我这个方法里修改一下?改成能验证负数的就可以了。
    虽然要求多了一点。还请大家多帮忙
    456 //用 Javascript 实现只能输入浮点型的文本框 例: onpropertychange="checkInputFloat(this); oninput=checkInputFloat(this); " 
    System.prototype.checkInputFloat = function (oInput) {  
       if ('' != oInput.value.replace(/\d{1,}\.{0,1}\d{0,}/, '')) {  
          oInput.value = oInput.value.match(/\d{1,}\.{0,1}\d{0,}/) == null ? '' : oInput.value.match(/\d{1,}\.{0,1}\d{0,}/);   
     }