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"));
     
     


  • 相关阅读:

    bzoj3052: [wc2013]糖果公园
    莫队算法心得
    bzoj1104: [POI2007]洪水pow
    bzoj1102: [POI2007]山峰和山谷Grz
    bzoj1121: [POI2008]激光发射器SZK
    bzoj1113: [Poi2008]海报PLA
    bzoj1103: [POI2007]大都市meg
    bzoj1396: 识别子串
    bzoj3756: Pty的字符串
  • 原文地址:https://www.cnblogs.com/chenchangwen/p/3453276.html
Copyright © 2011-2022 走看看