• js验证整数加保留小数点


     1 function validateNum(obj) {
     2     //正整数(此处用了缓存)
     3     var number = obj.data('validate').number;
     4     //小数点(此处用了缓存)
     5     var decimal = obj.data('validate').decimal;
     6     //动态基本验证正则
     7     eval("var reg = /^[0-9]{0," + number + "}([.]?[0-9]{0," + decimal + "})$" + "/g;");
     8     var value = obj.val();
     9     var maxnumlen = number + decimal + 1; //最大长度 + 1(小数点)
    10     if (!reg.test(obj.val())) return false;
    11     //最大长度等于当前值的长度并且值没有"."
    12     if (maxnumlen == value.length && value.indexOf('.') <= 0) {
    13         return false;
    14     }
    15     //尝试得到"."的索引
    16     var valueindexof = value.indexOf('.');
    17     if (valueindexof > 0) {
    18         //如果"."索引后一位是空那么肯定是返回false
    19         if (value.charAt(valueindexof + 1) == "") {
    20             return false;
    21         }
    22     }
    23     //分割值就很容易判断出前后内容
    24     var valuesplit = value.split('.');
    25     //如果值的长度大于定义的正整数长度 
    26     if (value.length > number) {
    27         if (valuesplit.length == 1) {
    28             return false;
    29         }
    30         //最大长度-所定义长度 大于 最大长度 即超长 ,false.
    31         if (maxnumlen - number >= maxnumlen) {
    32             return false;
    33         }
    34     }
    35     return true;
    36 }

    给元素缓存一个validate对象后,调用即可。
    定义:
    $("#example").data("validate", { number: 2, decimal: 2 });
    调用:
    validateNum($("#example"));
     
     


  • 相关阅读:
    同一内网不能网段ping 不通
    mysql 5.6.33 重置密码后报错
    设置tomcat内存设定
    python 取两数的百分比
    cache buffers
    登录到mysql查看binlog日志
    mysqlbinlog 查看日志时发生报错
    find 查找文件 -exec 然后压缩 查看tar包的内容
    zip 压缩文件 unzip查看zip压缩包内的内容
    react-native 完整实现登录功能
  • 原文地址:https://www.cnblogs.com/chenchangwen/p/3453276.html
Copyright © 2020-2023  润新知