zoukankan      html  css  js  c++  java
  • 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"));
     
     


  • 相关阅读:
    Maximum sum
    走出迷宫
    取石子游戏
    全排列
    BZOJ3456 城市规划
    【SHOI2016】黑暗前的幻想乡
    【AHOI2012】信号塔
    HDU5730 Shell Necklace
    线性常系数齐次递推关系学习笔记
    矩阵树定理学习笔记
  • 原文地址:https://www.cnblogs.com/chenchangwen/p/3453276.html
Copyright © 2011-2022 走看看