1. 格式要求为最终支持两位小数点的非负数
正则校验
var reg = /^\d+(?:\.\d{1,2})?$/;
if(!reg.test(assetVal))
{
$("#assetMsg").html("请输入最多支持两位小数的非负数。");
$(OBJ).addClass("parsley-error");
return false;
}
2. 有一个区间,若开始值和结束值都不为空,则校验开始值不能大于结束值
//如果开始区间和结束区间都不为空,校验结束区间是否大于等于开始区间
var startAssetVal = parseFloat($("#startAsset").val().trim());
var endAssetVal = parseFloat($("#endAsset").val().trim());
//判断是否为数字
if(!isNaN(startAssetVal) && !isNaN(endAssetVal) && endAssetVal < startAssetVal)
{
$("#assetMsg").html("结束区间不能小于开始区间。");
$(OBJ).addClass("parsley-error");
return false;
}
注意不可写成
//如果开始区间和结束区间都不为空,校验结束区间是否大于等于开始区间
var startAssetVal = parseFloat($("#startAsset").val().trim());
var endAssetVal = parseFloat($("#endAsset").val().trim());
if(startAssetVal && endAssetVal && endAssetVal < startAssetVal)
{
$("#assetMsg").html("结束区间不能小于开始区间。");
$(OBJ).addClass("parsley-error");
return false;
}
以上代码的后果是:如果startAssetVal 或者endAssetVal 为0,则if条件就为false,不会进行数值比较,这样开始值为200,结束值为0的情况就会被校验通过。