js验证整数加保留小数点的简单实例

原创 2013年12月02日 17:13:05
代码如下:

function validateNum(obj) {
    //正整数(此处用了缓存)
    var number = obj.data(validate).number;
    //小数点(此处用了缓存)
    var decimal = obj.data(validate).decimal;
    //动态基本验证正则
    eval("var reg = /^[0-9]{0," + number + "}([.]?[0-9]{0," + decimal + "})$" + "/g;");
    var value = obj.val();
    var maxnumlen = number + decimal + 1; //最大长度 + 1(小数点)
    if (!reg.test(obj.val())) return false;
    //最大长度等于当前值的长度并且值没有"."
    if (maxnumlen == value.length && value.indexOf('.') <= 0) {
        return false;
    }
    //尝试得到"."的索引
    var valueindexof = value.indexOf('.');
    if (valueindexof > 0) {
        //如果"."索引后一位是空那么肯定是返回false
        if (value.charAt(valueindexof + 1) == "") {
            return false;
        }

    }

   //unity3d论坛http://www.unitymanual.com/

    //分割值就很容易判断出前后内容
    var valuesplit = value.split('.');
    //如果值的长度大于定义的正整数长度
    if (value.length > number) {
        if (valuesplit.length == 1) {
            return false;
        }
        //最大长度-所定义长度 大于 最大长度 即超长 ,false.
        if (maxnumlen - number >= maxnumlen) {
            return false;
        }
    }
    return true;
}

给元素缓存一个validate对象后,调用即可。
定义:
$("#example").data("validate", { number: 2, decimal: 2 });
调用:
validateNum($("#example));
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

Java进阶(五十二)两个整数相除得到小数点并保留两位小数的方法

Java进阶(五十二)两个整数相除得到小数点并保留两位小数的方法  当两个整数相除时,由于小数点以后的数字会被截断,使运算结果为整数,故此时若希望得到运算结果为所预期的浮点数,则此时必须将两整数其一或...

Js保留小数点问题

//保留两位小数 //功能:将浮点数四舍五入,取小数点后2位 function toDecimal(x) { var f = pa...

js实现简单整数计算器-------Day71

之所以我把它叫做整数计算器,是因为在我完成之后,我发现l

数字格式化format(整数位小数点格式化、小数位截取)

说明:        由于做金融关系,需要对数字的整数位千位小数点分割,小数点截取到百分位(不是四舍五入),所以必须使用DecimalForma和BigDecimal 来完成 1.DecimalFor...

js 实现 截断小数点位数

  • 2010-03-30 15:07
  • 467B
  • 下载

js只保留整数,取整,四舍五入等函数

1.丢弃小数部分,保留整数部分 parseInt(5/2) 2.向上取整,有小数就整数部分加1 Math.ceil(5/2) 3,四舍五入. Math.round(5/2) ...

js正则验证身份证,日期,整数,ip,字母等等

var regexEnum = { intege:"^-?[1-9]\\d*$", //整数 intege1:"^[1-9]\\d*$", //正整数 intege2:"^-[...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)