校验填报数据的小数位数

需求背景

在页面填报数据的时候,对于小数数据的小数位数需要做一个校验,不允许小数位数过长。

解决办法

JSP中定义如下jsjs的名称是_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. 数据值的大小必须在0100之间。

页面效果:

说明一点:

若填写的数据既大于100,而且小数位数也超过了两位,那么提示的校验是”小数位数不能超过两位,请重新输入!”,因为这个判断在数值判断之前。

这个js还可以再优化一下,将这种情况的判断加进去:

If(b.length>3 && _value>100 || _value<0)