ソースを参照

#453
Fix integer part length

rouche 11 年 前
コミット
9b876e92dd
1 ファイル変更9 行追加3 行削除
  1. 9 3
      js/jquery.inputmask.numeric.extensions.js

+ 9 - 3
js/jquery.inputmask.numeric.extensions.js

@@ -80,11 +80,17 @@ Optional extensions on the jquery.inputmask base
             },
             regex: {
                 number: function (opts) {
-                    var escapedGroupSeparator = $.inputmask.escapeRegex.call(this, opts.groupSeparator);
+                    //unused var escapedGroupSeparator = $.inputmask.escapeRegex.call(this, opts.groupSeparator);
                     var escapedRadixPoint = $.inputmask.escapeRegex.call(this, opts.radixPoint);
                     var digitExpression = isNaN(opts.digits) ? opts.digits : '{0,' + opts.digits + '}';
-                    var signedExpression = opts.allowPlus || opts.allowMinus ? "[" + (opts.allowPlus ? "\+" : "") + (opts.allowMinus ? "-" : "") + "]?" : "";
-                    return new RegExp("^" + signedExpression + "(\\d+|\\d{1," + opts.groupSize + "}((" + escapedGroupSeparator + "\\d{" + opts.groupSize + "})?)+)(" + escapedRadixPoint + "\\d" + digitExpression + ")?$");
+                    var integerExpression = isNaN(opts.integerDigits) ? opts.integerDigits : '{1,' + opts.integerDigits + '}';
+                    var signedExpression = opts.allowPlus || opts.allowMinus ? "[" + (opts.allowPlus ? "\+" : "") + (opts.allowMinus ? "-" : "") + "]?" : "";                   
+
+                    //regex is never used to validate with group separators. Just validate lengths.
+                    var currentRegExp = "^" + signedExpression + "\\d" + integerExpression + "(" + escapedRadixPoint + "\\d" + digitExpression + ")?$";
+
+                    return new RegExp(currentRegExp);
+
                 }
             },
             onKeyDown: function (e, buffer, opts) {