ソースを参照

further refactor to inputmask object

Robin Herbots 10 年 前
コミット
e3e61820ad

+ 1 - 1
bower.json

@@ -1,6 +1,6 @@
 {
 {
   "name": "jquery.inputmask",
   "name": "jquery.inputmask",
-  "version": "3.1.64-20",
+  "version": "3.1.64-24",
   "main": [
   "main": [
     "./dist/inputmask/jquery.inputmask.js",
     "./dist/inputmask/jquery.inputmask.js",
     "./dist/inputmask/jquery.inputmask.extensions.js",
     "./dist/inputmask/jquery.inputmask.extensions.js",

+ 1 - 1
component.json

@@ -2,7 +2,7 @@
     "name": "jquery_inputmask",
     "name": "jquery_inputmask",
     "repository": "robinherbots/jquery.inputmask",
     "repository": "robinherbots/jquery.inputmask",
     "description": "jquery.inputmask is a jquery plugin which create an input mask.",
     "description": "jquery.inputmask is a jquery plugin which create an input mask.",
-    "version": "3.1.64-20",
+    "version": "3.1.64-24",
     "keywords": [ "jquery", "plugins", "input", "form", "inputmask", "mask" ],
     "keywords": [ "jquery", "plugins", "input", "form", "inputmask", "mask" ],
     "main": "./dist/jquery.inputmask.bundle.js",
     "main": "./dist/jquery.inputmask.bundle.js",
     "scripts": [
     "scripts": [

+ 1 - 1
composer.json

@@ -1,7 +1,7 @@
 {
 {
     "name": "robinherbots/jquery.inputmask",
     "name": "robinherbots/jquery.inputmask",
     "description": "jquery.inputmask is a jquery plugin which create an input mask.",
     "description": "jquery.inputmask is a jquery plugin which create an input mask.",
-	"version": "3.1.64-20",
+	"version": "3.1.64-24",
     "type": "library",
     "type": "library",
     "keywords": ["jquery", "plugins", "input", "form", "inputmask", "mask"],
     "keywords": ["jquery", "plugins", "input", "form", "inputmask", "mask"],
     "homepage": "http://robinherbots.github.io/jquery.inputmask",
     "homepage": "http://robinherbots.github.io/jquery.inputmask",

+ 1 - 1
dist/inputmask/jquery.inputmask.date.extensions.js

@@ -3,7 +3,7 @@
 * http://github.com/RobinHerbots/jquery.inputmask
 * http://github.com/RobinHerbots/jquery.inputmask
 * Copyright (c) 2010 - 2015 Robin Herbots
 * Copyright (c) 2010 - 2015 Robin Herbots
 * Licensed under the MIT license (http://www.opensource.org/licenses/mit-license.php)
 * Licensed under the MIT license (http://www.opensource.org/licenses/mit-license.php)
-* Version: 3.1.64-20
+* Version: 3.1.64-24
 */
 */
 !function(factory) {
 !function(factory) {
     "function" == typeof define && define.amd ? define([ "jquery", "./jquery.inputmask" ], factory) : "object" == typeof exports ? module.exports = factory(require("jquery"), require("./jquery.inputmask")) : factory(jQuery);
     "function" == typeof define && define.amd ? define([ "jquery", "./jquery.inputmask" ], factory) : "object" == typeof exports ? module.exports = factory(require("jquery"), require("./jquery.inputmask")) : factory(jQuery);

ファイルの差分が大きいため隠しています
+ 1 - 1
dist/inputmask/jquery.inputmask.date.extensions.min.js


+ 1 - 1
dist/inputmask/jquery.inputmask.extensions.js

@@ -3,7 +3,7 @@
 * http://github.com/RobinHerbots/jquery.inputmask
 * http://github.com/RobinHerbots/jquery.inputmask
 * Copyright (c) 2010 - 2015 Robin Herbots
 * Copyright (c) 2010 - 2015 Robin Herbots
 * Licensed under the MIT license (http://www.opensource.org/licenses/mit-license.php)
 * Licensed under the MIT license (http://www.opensource.org/licenses/mit-license.php)
-* Version: 3.1.64-20
+* Version: 3.1.64-24
 */
 */
 !function(factory) {
 !function(factory) {
     "function" == typeof define && define.amd ? define([ "jquery", "./jquery.inputmask" ], factory) : "object" == typeof exports ? module.exports = factory(require("jquery"), require("./jquery.inputmask")) : factory(jQuery);
     "function" == typeof define && define.amd ? define([ "jquery", "./jquery.inputmask" ], factory) : "object" == typeof exports ? module.exports = factory(require("jquery"), require("./jquery.inputmask")) : factory(jQuery);

ファイルの差分が大きいため隠しています
+ 1 - 1
dist/inputmask/jquery.inputmask.extensions.min.js


+ 24 - 20
dist/inputmask/jquery.inputmask.js

@@ -3,7 +3,7 @@
 * http://github.com/RobinHerbots/jquery.inputmask
 * http://github.com/RobinHerbots/jquery.inputmask
 * Copyright (c) 2010 - 2015 Robin Herbots
 * Copyright (c) 2010 - 2015 Robin Herbots
 * Licensed under the MIT license (http://www.opensource.org/licenses/mit-license.php)
 * Licensed under the MIT license (http://www.opensource.org/licenses/mit-license.php)
-* Version: 3.1.64-20
+* Version: 3.1.64-24
 */
 */
 !function(factory) {
 !function(factory) {
     "function" == typeof define && define.amd ? define([ "jquery" ], factory) : "object" == typeof exports ? module.exports = factory(require("jquery")) : factory(jQuery);
     "function" == typeof define && define.amd ? define([ "jquery" ], factory) : "object" == typeof exports ? module.exports = factory(require("jquery")) : factory(jQuery);
@@ -30,6 +30,18 @@
         return aliasDefinition ? (aliasDefinition.alias && resolveAlias(aliasDefinition.alias, void 0, opts), 
         return aliasDefinition ? (aliasDefinition.alias && resolveAlias(aliasDefinition.alias, void 0, opts), 
         $.extend(!0, opts, aliasDefinition), $.extend(!0, opts, options), !0) : !1;
         $.extend(!0, opts, aliasDefinition), $.extend(!0, opts, options), !0) : !1;
     }
     }
+    function importAttributeOptions(npt, opts, importedOptionsContainer) {
+        var $npt = $(npt);
+        $npt.data("inputmask-alias") && resolveAlias($npt.data("inputmask-alias"), $.extend(!0, {}, opts), opts);
+        for (var option in opts) {
+            var optionData = $npt.data("inputmask-" + option.toLowerCase());
+            void 0 != optionData && (optionData = "boolean" == typeof optionData ? optionData : optionData.toString(), 
+            "mask" == option && 0 == optionData.indexOf("[") ? (opts[option] = optionData.replace(/[\s[\]]/g, "").split("','"), 
+            opts[option][0] = opts[option][0].replace("'", ""), opts[option][opts[option].length - 1] = opts[option][opts[option].length - 1].replace("'", "")) : opts[option] = optionData, 
+            importedOptionsContainer && (importedOptionsContainer[option] = opts[option]));
+        }
+        return opts;
+    }
     function generateMaskSet(opts, nocache) {
     function generateMaskSet(opts, nocache) {
         function analyseMask(mask) {
         function analyseMask(mask) {
             function maskToken(isGroup, isOptional, isQuantifier, isAlternator) {
             function maskToken(isGroup, isOptional, isQuantifier, isAlternator) {
@@ -270,7 +282,7 @@
                 i++), startPos++) : i++;
                 i++), startPos++) : i++;
             }
             }
             var lvp = getLastValidPosition(), ml = getMaskLength();
             var lvp = getLastValidPosition(), ml = getMaskLength();
-            for (void 0 != getMaskSet().validPositions[lvp] && getMaskSet().validPositions[lvp].input == opts.radixPoint && delete getMaskSet().validPositions[lvp], 
+            for (nocheck !== !0 && void 0 != getMaskSet().validPositions[lvp] && getMaskSet().validPositions[lvp].input == opts.radixPoint && delete getMaskSet().validPositions[lvp], 
             i = lvp + 1; ml >= i; i++) getMaskSet().validPositions[i] && delete getMaskSet().validPositions[i];
             i = lvp + 1; ml >= i; i++) getMaskSet().validPositions[i] && delete getMaskSet().validPositions[i];
             resetMaskSet(!0);
             resetMaskSet(!0);
         }
         }
@@ -1266,33 +1278,25 @@
                     action: "isValid",
                     action: "isValid",
                     value: value
                     value: value
                 }, generateMaskSet(opts, options && void 0 !== options.definitions), opts);
                 }, generateMaskSet(opts, options && void 0 !== options.definitions), opts);
+            },
+            mask: function(el) {
+                importAttributeOptions(el, this.opts);
+                var maskset = generateMaskSet(this.opts, this.noMasksCache);
+                return void 0 != maskset && maskScope({
+                    action: "mask",
+                    el: el
+                }, maskset, this.opts), el;
             }
             }
         };
         };
         var ua = navigator.userAgent, iphone = null !== ua.match(new RegExp("iphone", "i")), androidchrome = (null !== ua.match(new RegExp("android.*safari.*", "i")), 
         var ua = navigator.userAgent, iphone = null !== ua.match(new RegExp("iphone", "i")), androidchrome = (null !== ua.match(new RegExp("android.*safari.*", "i")), 
         null !== ua.match(new RegExp("android.*chrome.*", "i"))), androidfirefox = null !== ua.match(new RegExp("android.*firefox.*", "i")), PasteEventType = (/Kindle/i.test(ua) || /Silk/i.test(ua) || /KFTT/i.test(ua) || /KFOT/i.test(ua) || /KFJWA/i.test(ua) || /KFJWI/i.test(ua) || /KFSOWI/i.test(ua) || /KFTHWA/i.test(ua) || /KFTHWI/i.test(ua) || /KFAPWA/i.test(ua) || /KFAPWI/i.test(ua), 
         null !== ua.match(new RegExp("android.*chrome.*", "i"))), androidfirefox = null !== ua.match(new RegExp("android.*firefox.*", "i")), PasteEventType = (/Kindle/i.test(ua) || /Silk/i.test(ua) || /KFTT/i.test(ua) || /KFOT/i.test(ua) || /KFJWA/i.test(ua) || /KFJWI/i.test(ua) || /KFSOWI/i.test(ua) || /KFTHWA/i.test(ua) || /KFTHWI/i.test(ua) || /KFAPWA/i.test(ua) || /KFAPWI/i.test(ua), 
         isInputEventSupported("paste") ? "paste" : isInputEventSupported("input") ? "input" : "propertychange");
         isInputEventSupported("paste") ? "paste" : isInputEventSupported("input") ? "input" : "propertychange");
         $.inputmask = inputmask.prototype, $.fn.inputmask = function(fn, options) {
         $.inputmask = inputmask.prototype, $.fn.inputmask = function(fn, options) {
-            function importAttributeOptions(npt, opts, importedOptionsContainer) {
-                var $npt = $(npt);
-                $npt.data("inputmask-alias") && resolveAlias($npt.data("inputmask-alias"), $.extend(!0, {}, opts), opts);
-                for (var option in opts) {
-                    var optionData = $npt.data("inputmask-" + option.toLowerCase());
-                    void 0 != optionData && (optionData = "boolean" == typeof optionData ? optionData : optionData.toString(), 
-                    "mask" == option && 0 == optionData.indexOf("[") ? (opts[option] = optionData.replace(/[\s[\]]/g, "").split("','"), 
-                    opts[option][0] = opts[option][0].replace("'", ""), opts[option][opts[option].length - 1] = opts[option][opts[option].length - 1].replace("'", "")) : opts[option] = optionData, 
-                    importedOptionsContainer && (importedOptionsContainer[option] = opts[option]));
-                }
-                return opts;
-            }
             var maskset, opts = $.extend(!0, {}, $.inputmask.defaults, options);
             var maskset, opts = $.extend(!0, {}, $.inputmask.defaults, options);
             if ("string" == typeof fn) switch (fn) {
             if ("string" == typeof fn) switch (fn) {
               case "mask":
               case "mask":
-                return resolveAlias(opts.alias, options, opts), this.each(function() {
-                    return importAttributeOptions(this, opts), maskset = generateMaskSet(opts, options && void 0 !== options.definitions), 
-                    void 0 == maskset ? this : void maskScope({
-                        action: "mask",
-                        el: this
-                    }, maskset, opts);
+                return this.each(function() {
+                    return new inputmask(options).mask(this);
                 });
                 });
 
 
               case "unmaskedvalue":
               case "unmaskedvalue":

ファイルの差分が大きいため隠しています
+ 3 - 3
dist/inputmask/jquery.inputmask.min.js


+ 2 - 2
dist/inputmask/jquery.inputmask.numeric.extensions.js

@@ -3,7 +3,7 @@
 * http://github.com/RobinHerbots/jquery.inputmask
 * http://github.com/RobinHerbots/jquery.inputmask
 * Copyright (c) 2010 - 2015 Robin Herbots
 * Copyright (c) 2010 - 2015 Robin Herbots
 * Licensed under the MIT license (http://www.opensource.org/licenses/mit-license.php)
 * Licensed under the MIT license (http://www.opensource.org/licenses/mit-license.php)
-* Version: 3.1.64-20
+* Version: 3.1.64-24
 */
 */
 !function(factory) {
 !function(factory) {
     "function" == typeof define && define.amd ? define([ "jquery", "./jquery.inputmask" ], factory) : "object" == typeof exports ? module.exports = factory(require("jquery"), require("./jquery.inputmask")) : factory(jQuery);
     "function" == typeof define && define.amd ? define([ "jquery", "./jquery.inputmask" ], factory) : "object" == typeof exports ? module.exports = factory(require("jquery"), require("./jquery.inputmask")) : factory(jQuery);
@@ -79,7 +79,7 @@
                 needsRefresh = bufValOrigin != bufVal, buffer.length = bufVal.length;
                 needsRefresh = bufValOrigin != bufVal, buffer.length = bufVal.length;
                 for (var i = 0, l = bufVal.length; l > i; i++) buffer[i] = bufVal.charAt(i);
                 for (var i = 0, l = bufVal.length; l > i; i++) buffer[i] = bufVal.charAt(i);
                 var newPos = $.inArray("?", buffer);
                 var newPos = $.inArray("?", buffer);
-                if (-1 == newPos && (newPos = pos), reformatOnly ? buffer[newPos] = charAtPos : buffer.splice(newPos, 1), 
+                if (-1 == newPos && (newPos = $.inArray(opts.radixpoint, buffer)), reformatOnly ? buffer[newPos] = charAtPos : buffer.splice(newPos, 1), 
                 !needsRefresh && suffixStripped) for (var i = 0, l = opts.suffix.length; l > i; i++) buffer.push(opts.suffix.charAt(i));
                 !needsRefresh && suffixStripped) for (var i = 0, l = opts.suffix.length; l > i; i++) buffer.push(opts.suffix.charAt(i));
                 return {
                 return {
                     pos: newPos,
                     pos: newPos,

ファイルの差分が大きいため隠しています
+ 2 - 2
dist/inputmask/jquery.inputmask.numeric.extensions.min.js


+ 1 - 1
dist/inputmask/jquery.inputmask.phone.extensions.js

@@ -3,7 +3,7 @@
 * http://github.com/RobinHerbots/jquery.inputmask
 * http://github.com/RobinHerbots/jquery.inputmask
 * Copyright (c) 2010 - 2015 Robin Herbots
 * Copyright (c) 2010 - 2015 Robin Herbots
 * Licensed under the MIT license (http://www.opensource.org/licenses/mit-license.php)
 * Licensed under the MIT license (http://www.opensource.org/licenses/mit-license.php)
-* Version: 3.1.64-20
+* Version: 3.1.64-24
 */
 */
 !function(factory) {
 !function(factory) {
     "function" == typeof define && define.amd ? define([ "jquery", "./jquery.inputmask" ], factory) : "object" == typeof exports ? module.exports = factory(require("jquery"), require("./jquery.inputmask")) : factory(jQuery);
     "function" == typeof define && define.amd ? define([ "jquery", "./jquery.inputmask" ], factory) : "object" == typeof exports ? module.exports = factory(require("jquery"), require("./jquery.inputmask")) : factory(jQuery);

ファイルの差分が大きいため隠しています
+ 1 - 1
dist/inputmask/jquery.inputmask.phone.extensions.min.js


+ 1 - 1
dist/inputmask/jquery.inputmask.regex.extensions.js

@@ -3,7 +3,7 @@
 * http://github.com/RobinHerbots/jquery.inputmask
 * http://github.com/RobinHerbots/jquery.inputmask
 * Copyright (c) 2010 - 2015 Robin Herbots
 * Copyright (c) 2010 - 2015 Robin Herbots
 * Licensed under the MIT license (http://www.opensource.org/licenses/mit-license.php)
 * Licensed under the MIT license (http://www.opensource.org/licenses/mit-license.php)
-* Version: 3.1.64-20
+* Version: 3.1.64-24
 */
 */
 !function(factory) {
 !function(factory) {
     "function" == typeof define && define.amd ? define([ "jquery", "./jquery.inputmask" ], factory) : "object" == typeof exports ? module.exports = factory(require("jquery"), require("./jquery.inputmask")) : factory(jQuery);
     "function" == typeof define && define.amd ? define([ "jquery", "./jquery.inputmask" ], factory) : "object" == typeof exports ? module.exports = factory(require("jquery"), require("./jquery.inputmask")) : factory(jQuery);

ファイルの差分が大きいため隠しています
+ 1 - 1
dist/inputmask/jquery.inputmask.regex.extensions.min.js


+ 25 - 21
dist/jquery.inputmask.bundle.js

@@ -3,7 +3,7 @@
 * http://github.com/RobinHerbots/jquery.inputmask
 * http://github.com/RobinHerbots/jquery.inputmask
 * Copyright (c) 2010 - 2015 Robin Herbots
 * Copyright (c) 2010 - 2015 Robin Herbots
 * Licensed under the MIT license (http://www.opensource.org/licenses/mit-license.php)
 * Licensed under the MIT license (http://www.opensource.org/licenses/mit-license.php)
-* Version: 3.1.64-20
+* Version: 3.1.64-24
 */
 */
 !function($) {
 !function($) {
     function inputmask(options) {
     function inputmask(options) {
@@ -28,6 +28,18 @@
         return aliasDefinition ? (aliasDefinition.alias && resolveAlias(aliasDefinition.alias, void 0, opts), 
         return aliasDefinition ? (aliasDefinition.alias && resolveAlias(aliasDefinition.alias, void 0, opts), 
         $.extend(!0, opts, aliasDefinition), $.extend(!0, opts, options), !0) : !1;
         $.extend(!0, opts, aliasDefinition), $.extend(!0, opts, options), !0) : !1;
     }
     }
+    function importAttributeOptions(npt, opts, importedOptionsContainer) {
+        var $npt = $(npt);
+        $npt.data("inputmask-alias") && resolveAlias($npt.data("inputmask-alias"), $.extend(!0, {}, opts), opts);
+        for (var option in opts) {
+            var optionData = $npt.data("inputmask-" + option.toLowerCase());
+            void 0 != optionData && (optionData = "boolean" == typeof optionData ? optionData : optionData.toString(), 
+            "mask" == option && 0 == optionData.indexOf("[") ? (opts[option] = optionData.replace(/[\s[\]]/g, "").split("','"), 
+            opts[option][0] = opts[option][0].replace("'", ""), opts[option][opts[option].length - 1] = opts[option][opts[option].length - 1].replace("'", "")) : opts[option] = optionData, 
+            importedOptionsContainer && (importedOptionsContainer[option] = opts[option]));
+        }
+        return opts;
+    }
     function generateMaskSet(opts, nocache) {
     function generateMaskSet(opts, nocache) {
         function analyseMask(mask) {
         function analyseMask(mask) {
             function maskToken(isGroup, isOptional, isQuantifier, isAlternator) {
             function maskToken(isGroup, isOptional, isQuantifier, isAlternator) {
@@ -268,7 +280,7 @@
                 i++), startPos++) : i++;
                 i++), startPos++) : i++;
             }
             }
             var lvp = getLastValidPosition(), ml = getMaskLength();
             var lvp = getLastValidPosition(), ml = getMaskLength();
-            for (void 0 != getMaskSet().validPositions[lvp] && getMaskSet().validPositions[lvp].input == opts.radixPoint && delete getMaskSet().validPositions[lvp], 
+            for (nocheck !== !0 && void 0 != getMaskSet().validPositions[lvp] && getMaskSet().validPositions[lvp].input == opts.radixPoint && delete getMaskSet().validPositions[lvp], 
             i = lvp + 1; ml >= i; i++) getMaskSet().validPositions[i] && delete getMaskSet().validPositions[i];
             i = lvp + 1; ml >= i; i++) getMaskSet().validPositions[i] && delete getMaskSet().validPositions[i];
             resetMaskSet(!0);
             resetMaskSet(!0);
         }
         }
@@ -1264,33 +1276,25 @@
                     action: "isValid",
                     action: "isValid",
                     value: value
                     value: value
                 }, generateMaskSet(opts, options && void 0 !== options.definitions), opts);
                 }, generateMaskSet(opts, options && void 0 !== options.definitions), opts);
+            },
+            mask: function(el) {
+                importAttributeOptions(el, this.opts);
+                var maskset = generateMaskSet(this.opts, this.noMasksCache);
+                return void 0 != maskset && maskScope({
+                    action: "mask",
+                    el: el
+                }, maskset, this.opts), el;
             }
             }
         };
         };
         var ua = navigator.userAgent, iphone = null !== ua.match(new RegExp("iphone", "i")), androidchrome = (null !== ua.match(new RegExp("android.*safari.*", "i")), 
         var ua = navigator.userAgent, iphone = null !== ua.match(new RegExp("iphone", "i")), androidchrome = (null !== ua.match(new RegExp("android.*safari.*", "i")), 
         null !== ua.match(new RegExp("android.*chrome.*", "i"))), androidfirefox = null !== ua.match(new RegExp("android.*firefox.*", "i")), PasteEventType = (/Kindle/i.test(ua) || /Silk/i.test(ua) || /KFTT/i.test(ua) || /KFOT/i.test(ua) || /KFJWA/i.test(ua) || /KFJWI/i.test(ua) || /KFSOWI/i.test(ua) || /KFTHWA/i.test(ua) || /KFTHWI/i.test(ua) || /KFAPWA/i.test(ua) || /KFAPWI/i.test(ua), 
         null !== ua.match(new RegExp("android.*chrome.*", "i"))), androidfirefox = null !== ua.match(new RegExp("android.*firefox.*", "i")), PasteEventType = (/Kindle/i.test(ua) || /Silk/i.test(ua) || /KFTT/i.test(ua) || /KFOT/i.test(ua) || /KFJWA/i.test(ua) || /KFJWI/i.test(ua) || /KFSOWI/i.test(ua) || /KFTHWA/i.test(ua) || /KFTHWI/i.test(ua) || /KFAPWA/i.test(ua) || /KFAPWI/i.test(ua), 
         isInputEventSupported("paste") ? "paste" : isInputEventSupported("input") ? "input" : "propertychange");
         isInputEventSupported("paste") ? "paste" : isInputEventSupported("input") ? "input" : "propertychange");
         $.inputmask = inputmask.prototype, $.fn.inputmask = function(fn, options) {
         $.inputmask = inputmask.prototype, $.fn.inputmask = function(fn, options) {
-            function importAttributeOptions(npt, opts, importedOptionsContainer) {
-                var $npt = $(npt);
-                $npt.data("inputmask-alias") && resolveAlias($npt.data("inputmask-alias"), $.extend(!0, {}, opts), opts);
-                for (var option in opts) {
-                    var optionData = $npt.data("inputmask-" + option.toLowerCase());
-                    void 0 != optionData && (optionData = "boolean" == typeof optionData ? optionData : optionData.toString(), 
-                    "mask" == option && 0 == optionData.indexOf("[") ? (opts[option] = optionData.replace(/[\s[\]]/g, "").split("','"), 
-                    opts[option][0] = opts[option][0].replace("'", ""), opts[option][opts[option].length - 1] = opts[option][opts[option].length - 1].replace("'", "")) : opts[option] = optionData, 
-                    importedOptionsContainer && (importedOptionsContainer[option] = opts[option]));
-                }
-                return opts;
-            }
             var maskset, opts = $.extend(!0, {}, $.inputmask.defaults, options);
             var maskset, opts = $.extend(!0, {}, $.inputmask.defaults, options);
             if ("string" == typeof fn) switch (fn) {
             if ("string" == typeof fn) switch (fn) {
               case "mask":
               case "mask":
-                return resolveAlias(opts.alias, options, opts), this.each(function() {
-                    return importAttributeOptions(this, opts), maskset = generateMaskSet(opts, options && void 0 !== options.definitions), 
-                    void 0 == maskset ? this : void maskScope({
-                        action: "mask",
-                        el: this
-                    }, maskset, opts);
+                return this.each(function() {
+                    return new inputmask(options).mask(this);
                 });
                 });
 
 
               case "unmaskedvalue":
               case "unmaskedvalue":
@@ -1989,7 +1993,7 @@
                 needsRefresh = bufValOrigin != bufVal, buffer.length = bufVal.length;
                 needsRefresh = bufValOrigin != bufVal, buffer.length = bufVal.length;
                 for (var i = 0, l = bufVal.length; l > i; i++) buffer[i] = bufVal.charAt(i);
                 for (var i = 0, l = bufVal.length; l > i; i++) buffer[i] = bufVal.charAt(i);
                 var newPos = $.inArray("?", buffer);
                 var newPos = $.inArray("?", buffer);
-                if (-1 == newPos && (newPos = pos), reformatOnly ? buffer[newPos] = charAtPos : buffer.splice(newPos, 1), 
+                if (-1 == newPos && (newPos = $.inArray(opts.radixpoint, buffer)), reformatOnly ? buffer[newPos] = charAtPos : buffer.splice(newPos, 1), 
                 !needsRefresh && suffixStripped) for (var i = 0, l = opts.suffix.length; l > i; i++) buffer.push(opts.suffix.charAt(i));
                 !needsRefresh && suffixStripped) for (var i = 0, l = opts.suffix.length; l > i; i++) buffer.push(opts.suffix.charAt(i));
                 return {
                 return {
                     pos: newPos,
                     pos: newPos,

ファイルの差分が大きいため隠しています
+ 5 - 4
dist/jquery.inputmask.bundle.min.js


ファイルの差分が大きいため隠しています
+ 578 - 488
js/jquery.inputmask.date.extensions.js


+ 1 - 1
js/jquery.inputmask.extensions.js

@@ -126,4 +126,4 @@ Optional extensions on the jquery.inputmask base
 		}
 		}
 	});
 	});
 	return $.fn.inputmask;
 	return $.fn.inputmask;
-})(jQuery);
+})(jQuery);

+ 35 - 33
js/jquery.inputmask.js

@@ -144,7 +144,17 @@
 					"value": value
 					"value": value
 				}, generateMaskSet(opts, options && options.definitions !== undefined), opts);
 				}, generateMaskSet(opts, options && options.definitions !== undefined), opts);
 			},
 			},
-
+			mask: function(el) {
+				importAttributeOptions(el, this.opts);
+				var maskset = generateMaskSet(this.opts, this.noMasksCache);
+				if (maskset != undefined) {
+					maskScope({
+						"action": "mask",
+						"el": el
+					}, maskset, this.opts);
+				}
+				return el;
+			}
 		}
 		}
 
 
 		//helper functions
 		//helper functions
@@ -182,6 +192,28 @@
 			return false;
 			return false;
 		}
 		}
 
 
+		function importAttributeOptions(npt, opts, importedOptionsContainer) {
+			var $npt = $(npt);
+			if ($npt.data("inputmask-alias")) {
+				resolveAlias($npt.data("inputmask-alias"), $.extend(true, {}, opts), opts);
+			}
+			for (var option in opts) {
+				var optionData = $npt.data("inputmask-" + option.toLowerCase());
+				if (optionData != undefined) {
+					optionData = typeof optionData == "boolean" ? optionData : optionData.toString();
+					if (option == "mask" && optionData.indexOf("[") == 0) {
+						opts[option] = optionData.replace(/[\s[\]]/g, "").split("','");
+						opts[option][0] = opts[option][0].replace("'", "");
+						opts[option][opts[option].length - 1] = opts[option][opts[option].length - 1].replace("'", "");
+					} else
+						opts[option] = optionData;
+					if (importedOptionsContainer)
+						importedOptionsContainer[option] = opts[option];
+				}
+			}
+			return opts;
+		}
+
 		function generateMaskSet(opts, nocache) {
 		function generateMaskSet(opts, nocache) {
 			var ms = undefined;
 			var ms = undefined;
 
 
@@ -652,7 +684,7 @@
 				//remove radixpoint if needed
 				//remove radixpoint if needed
 				var lvp = getLastValidPosition(),
 				var lvp = getLastValidPosition(),
 					ml = getMaskLength();
 					ml = getMaskLength();
-				if (getMaskSet()["validPositions"][lvp] != undefined && getMaskSet()["validPositions"][lvp].input == opts.radixPoint)
+				if (nocheck !== true && getMaskSet()["validPositions"][lvp] != undefined && getMaskSet()["validPositions"][lvp].input == opts.radixPoint)
 					delete getMaskSet()["validPositions"][lvp];
 					delete getMaskSet()["validPositions"][lvp];
 
 
 				for (i = lvp + 1; i <= ml; i++) {
 				for (i = lvp + 1; i <= ml; i++) {
@@ -2447,44 +2479,14 @@
 		$.inputmask = inputmask.prototype;
 		$.inputmask = inputmask.prototype;
 
 
 		$.fn.inputmask = function(fn, options) {
 		$.fn.inputmask = function(fn, options) {
-			function importAttributeOptions(npt, opts, importedOptionsContainer) {
-				var $npt = $(npt);
-				if ($npt.data("inputmask-alias")) {
-					resolveAlias($npt.data("inputmask-alias"), $.extend(true, {}, opts), opts);
-				}
-				for (var option in opts) {
-					var optionData = $npt.data("inputmask-" + option.toLowerCase());
-					if (optionData != undefined) {
-						optionData = typeof optionData == "boolean" ? optionData : optionData.toString();
-						if (option == "mask" && optionData.indexOf("[") == 0) {
-							opts[option] = optionData.replace(/[\s[\]]/g, "").split("','");
-							opts[option][0] = opts[option][0].replace("'", "");
-							opts[option][opts[option].length - 1] = opts[option][opts[option].length - 1].replace("'", "");
-						} else
-							opts[option] = optionData;
-						if (importedOptionsContainer)
-							importedOptionsContainer[option] = opts[option];
-					}
-				}
-				return opts;
-			}
 			var opts = $.extend(true, {}, $.inputmask.defaults, options),
 			var opts = $.extend(true, {}, $.inputmask.defaults, options),
 				maskset;
 				maskset;
 
 
 			if (typeof fn === "string") {
 			if (typeof fn === "string") {
 				switch (fn) {
 				switch (fn) {
 					case "mask":
 					case "mask":
-						resolveAlias(opts.alias, options, opts);
 						return this.each(function() {
 						return this.each(function() {
-							importAttributeOptions(this, opts)
-							maskset = generateMaskSet(opts, options && options.definitions !== undefined);
-							if (maskset == undefined) {
-								return this;
-							}
-							maskScope({
-								"action": "mask",
-								"el": this
-							}, maskset, opts);
+							return new inputmask(options).mask(this);
 						});
 						});
 					case "unmaskedvalue":
 					case "unmaskedvalue":
 						var $input = $(this);
 						var $input = $(this);

+ 2 - 2
js/jquery.inputmask.numeric.extensions.js

@@ -151,7 +151,7 @@ Optional extensions on the jquery.inputmask base
 					buffer[i] = bufVal.charAt(i);
 					buffer[i] = bufVal.charAt(i);
 				}
 				}
 				var newPos = $.inArray("?", buffer);
 				var newPos = $.inArray("?", buffer);
-				if (newPos == -1) newPos = pos;
+				if (newPos == -1) newPos = $.inArray(opts.radixpoint, buffer);
 				if (reformatOnly) buffer[newPos] = charAtPos;
 				if (reformatOnly) buffer[newPos] = charAtPos;
 				else buffer.splice(newPos, 1);
 				else buffer.splice(newPos, 1);
 
 
@@ -592,4 +592,4 @@ Optional extensions on the jquery.inputmask base
 		}
 		}
 	});
 	});
 	return $.fn.inputmask;
 	return $.fn.inputmask;
-})(jQuery);
+})(jQuery);

+ 3 - 3
js/jquery.inputmask.phone.extensions.js

@@ -9,10 +9,10 @@ Phone extension.
 When using this extension make sure you specify the correct url to get the masks
 When using this extension make sure you specify the correct url to get the masks
 
 
  $(selector).inputmask("phone", {
  $(selector).inputmask("phone", {
-                url: "Scripts/jquery.inputmask/phone-codes/phone-codes.json", 
+                url: "Scripts/jquery.inputmask/phone-codes/phone-codes.json",
                 onKeyValidation: function () { //show some metadata in the console
                 onKeyValidation: function () { //show some metadata in the console
                     console.log($(this).inputmask("getmetadata")["cd"]);
                     console.log($(this).inputmask("getmetadata")["cd"]);
-                } 
+                }
   });
   });
 
 
 
 
@@ -63,4 +63,4 @@ When using this extension make sure you specify the correct url to get the masks
 		}
 		}
 	});
 	});
 	return $.fn.inputmask;
 	return $.fn.inputmask;
-})(jQuery);
+})(jQuery);

+ 1 - 1
js/jquery.inputmask.regex.extensions.js

@@ -200,4 +200,4 @@ Allows for using regular expressions as a mask
 		}
 		}
 	});
 	});
 	return $.fn.inputmask;
 	return $.fn.inputmask;
-})(jQuery);
+})(jQuery);

+ 1 - 1
package.json

@@ -1,6 +1,6 @@
 {
 {
   "name": "jquery.inputmask",
   "name": "jquery.inputmask",
-  "version": "3.1.64-20",
+  "version": "3.1.64-24",
   "description": "jquery.inputmask is a jquery plugin which create an input mask.",
   "description": "jquery.inputmask is a jquery plugin which create an input mask.",
   "main": "./dist/inputmask/jquery.inputmask.js",
   "main": "./dist/inputmask/jquery.inputmask.js",
   "files": [
   "files": [

+ 31 - 2
qunit/tests_numeric.js

@@ -309,7 +309,7 @@ test("inputmask(\"decimal\", { autoGroup: true, groupSeparator: \",\" }\") - inp
 });
 });
 
 
 asyncTest("inputmask(\"decimal\", { autoGroup: true, groupSeparator: \",\", decimalProtect: true }\") - input 12345.123 + remove .123", function () {
 asyncTest("inputmask(\"decimal\", { autoGroup: true, groupSeparator: \",\", decimalProtect: true }\") - input 12345.123 + remove .123", function () {
-    var $fixture = $("body");
+    var $fixture = $("#qunit-fixture");
     $fixture.append('<input type="text" id="testmask" />');
     $fixture.append('<input type="text" id="testmask" />');
     $("#testmask").inputmask("decimal", { autoGroup: true, groupSeparator: ",", decimalProtect: true });
     $("#testmask").inputmask("decimal", { autoGroup: true, groupSeparator: ",", decimalProtect: true });
 
 
@@ -833,7 +833,7 @@ test("inputmask(\"integer\") - -5.000,77 - DrSammyD", function () {
 });
 });
 
 
 asyncTest("inputmask(\"decimal\ placeholder :\"\" digitsoptional: false) - 123 - loostro", function () {
 asyncTest("inputmask(\"decimal\ placeholder :\"\" digitsoptional: false) - 123 - loostro", function () {
-    var $fixture = $("body");
+    var $fixture =$("#qunit-fixture");
     $fixture.append('<input type="text" id="testmask" value="0,00" />');
     $fixture.append('<input type="text" id="testmask" value="0,00" />');
     $("#testmask").inputmask("decimal", {
     $("#testmask").inputmask("decimal", {
         radixPoint: ",",
         radixPoint: ",",
@@ -1278,3 +1278,32 @@ test("decimal alias - type 123456789 - add , before 8 - backspace - jpontet", fu
     equal($("#testmask")[0]._valueGet(), "123 456,89", "Result " + $("#testmask")[0]._valueGet());
     equal($("#testmask")[0]._valueGet(), "123 456,89", "Result " + $("#testmask")[0]._valueGet());
     $("#testmask").remove();
     $("#testmask").remove();
 });
 });
+
+test("decimal alias - type 1234567890 - add , before 9 - jpontet", function () {
+    var $fixture = $("#qunit-fixture");
+    $fixture.append('<input type="text" id="testmask" />');
+    $("#testmask").inputmask("decimal", {allowMinus: true, integerDigits: 12, digits: 2, radixPoint: ",", autoGroup: true, groupSeparator: " ", groupSize: 3, rightAlign: false});
+
+    $("#testmask")[0].focus();
+    $("#testmask").click();
+    $("#testmask").Type("1234567890");
+    $.caret($("#testmask"), 10);
+    $("#testmask").SendKey(",");
+    equal($("#testmask")[0]._valueGet(), "12 345 678,90", "Result " + $("#testmask")[0]._valueGet());
+    $("#testmask").remove();
+});
+
+test("decimal alias - type 1234567890 - add , before 9 - backspace - jpontet", function () {
+    var $fixture = $("#qunit-fixture");
+    $fixture.append('<input type="text" id="testmask" />');
+    $("#testmask").inputmask("decimal", {allowMinus: true, integerDigits: 12, digits: 2, radixPoint: ",", autoGroup: true, groupSeparator: " ", groupSize: 3, rightAlign: false});
+
+    $("#testmask")[0].focus();
+    $("#testmask").click();
+    $("#testmask").Type("1234567890");
+    $.caret($("#testmask"), 10);
+    $("#testmask").SendKey(",");
+    $("#testmask").SendKey($.inputmask.keyCode.BACKSPACE);
+    equal($("#testmask")[0]._valueGet(), "1 234 567,90", "Result " + $("#testmask")[0]._valueGet());
+    $("#testmask").remove();
+});