以下是可以验证带小数点的数值。可是不能为负数.求大神帮忙修改修改 .
分数不够。请见谅
//用 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,}/);
}
}
分数不够。请见谅
//用 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,}/);
}
}
* 检查浮点数
* @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;
}
虽然要求多了一点。还请大家多帮忙
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,}/);
}
}