校验填报数据的小数位数
需求背景:
在页面填报数据的时候,对于小数数据的小数位数需要做一个校验,不允许小数位数过长。
解决办法:
在JSP中定义如下js,js的名称是_cellValueChanged()
function _cellValueChanged(cell){
var _id = cell.id;//获取当前单元格的ID
var _value =document.getElementById(_id).value;//获取当前单元格填写的值
var a = _value.toString();
var b = a.substring(a.indexOf(“.”),a.length+1);
if(b.length>3){
alert(“小数位数不能超过两位,请重新输入!“);
}else if(_value>100 || _value<0){
alert(“数据必须在0-100范围内,请重新输入!“);
}
return true;
}
这段js所做的校验是:
1. 填报的小数位数不能超过两位
2. 数据值的大小必须在0到100之间。
页面效果:
说明一点:
若填写的数据既大于100,而且小数位数也超过了两位,那么提示的校验是”小数位数不能超过两位,请重新输入!”,因为这个判断在数值判断之前。
这个js还可以再优化一下,将这种情况的判断加进去:
If(b.length>3 && _value>100 || _value<0)