jquery.inputmask.numeric.extensions.js 3.0 KB

1234567
  1. (function(h){h.extend(h.inputmask.defaults.aliases,{numeric:{mask:function(a){0!==a.repeat&&isNaN(a.integerDigits)&&(a.integerDigits=a.repeat);a.repeat=0;a.autoGroup=a.autoGroup&&""!=a.groupSeparator;if(a.autoGroup&&isFinite(a.integerDigits)){var b=Math.floor(a.integerDigits/a.groupSize);a.integerDigits+=0==a.integerDigits%a.groupSize?b-1:b}b=a.prefix;b=b+"[+]"+("~{1,"+a.integerDigits+"}");void 0!=a.digits&&(isNaN(a.digits)||0<parseInt(a.digits))&&(b=a.digitsOptional?b+("["+a.radixPoint+"~{"+a.digits+
  2. "}]"):b+(a.radixPoint+"~{"+a.digits+"}"));return b+=a.suffix},placeholder:"",greedy:!1,digits:"*",digitsOptional:!0,groupSeparator:"",radixPoint:".",groupSize:3,autoGroup:!1,allowPlus:!0,allowMinus:!0,integerDigits:"+",prefix:"",suffix:"",skipRadixDance:!1,getLastValidPosition:function(a,b,e){var d=-1,f=a.validPositions,c;for(c in f)f=parseInt(c),f>d&&(d=f);void 0!=b&&(a=a.buffer,!1===e.skipRadixDance&&""!=e.radixPoint&&-1!=h.inArray(e.radixPoint,a)&&(d=h.inArray(e.radixPoint,a)));return d},rightAlign:!0,
  3. postFormat:function(a,b,e,d){var f=!1;if(""==d.groupSeparator||-1!=h.inArray(d.radixPoint,a)&&b>=h.inArray(d.radixPoint,a))return{pos:b};var c=a.slice();e||c.splice(b,0,"?");c=c.join("");if(d.autoGroup||e&&-1!=c.indexOf(d.groupSeparator)){var g=h.inputmask.escapeRegex.call(this,d.groupSeparator),c=c.replace(RegExp(g,"g"),""),g=c.split(d.radixPoint),c=g[0];if(c!=d.prefix+"?0")for(var f=!0,k=RegExp("([-+]?[\\d?]+)([\\d?]{"+d.groupSize+"})");k.test(c);)c=c.replace(k,"$1"+d.groupSeparator+"$2"),c=c.replace(d.groupSeparator+
  4. d.groupSeparator,d.groupSeparator);1<g.length&&(c+=d.radixPoint+g[1])}a.length=c.length;d=0;for(g=c.length;d<g;d++)a[d]=c.charAt(d);c=h.inArray("?",a);e||a.splice(c,1);return{pos:e?b:c,refreshFromBuffer:f}},onKeyDown:function(a,b,e){h(this);if(e.autoGroup&&a.keyCode==e.keyCode.DELETE||a.keyCode==e.keyCode.BACKSPACE)return e.postFormat(b,0,!0,e)},regex:{integerPart:function(a){return/[-+]?\d+/}},negationhandler:function(a,b,e,d,f){return!d&&f.allowMinus&&"-"===a&&(a=b.join("").match(f.regex.integerPart(f)),
  5. 0<a.length)?"+"==b[a.index]?(b.splice(a.index,1),{pos:a.index,c:"-",refreshFromBuffer:!0,caret:e}):"-"==b[a.index]?(b.splice(a.index,1),{refreshFromBuffer:!0,caret:e-1}):{pos:a.index,c:"-",caret:e+1}:!1},definitions:{"~":{validator:function(a,b,e,d,f){var c=f.negationhandler(a,b,e,d,f);if(!c){c=d?RegExp("[0-9"+h.inputmask.escapeRegex.call(this,f.groupSeparator)+"]").test(a):/[0-9]/.test(a);if(!1!=c){var g=b.join("").match(f.regex.integerPart(f)),k=h.inArray(f.radixPoint,b);if(g&&"0"==g["0"][0]&&e>=
  6. f.prefix.length&&(-1==k||e<k))b.splice(g.index,1);else if("0"==a&&g&&0<g["0"].length&&e==f.prefix.length)return!1}!1==c||d||a==f.radixPoint||!0!==f.autoGroup||(c=f.postFormat(b,e,"-"==a||"+"==a?!0:!1,f))}return c},cardinality:1,prevalidator:null},"+":{validator:function(a,b,e,d,f){b="[";!0===f.allowMinus&&(b+="-");!0===f.allowPlus&&(b+="+");return RegExp(b+"]").test(a)},cardinality:1,prevalidator:null}},insertMode:!0,autoUnmask:!1,onUnMask:function(a,b,e){return b}},decimal:{alias:"numeric"},integer:{alias:"numeric",
  7. digits:"0"}})})(jQuery);