jquery.inputmask.numeric.extensions.js 2.9 KB

123456
  1. (function(h){h.extend(h.inputmask.defaults.aliases,{decimal:{mask:"~",placeholder:"",repeat:"*",greedy:!1,numericInput:!0,digits:"*",groupSeparator:"",radixPoint:".",groupSize:3,autoGroup:!1,allowPlus:!0,allowMinus:!0,getMaskLength:function(b,e,d,c,a){var f=b.length;e||("*"==d?f=c.length+1:1<d&&(f+=b.length*(d-1)));b=h.inputmask.escapeRegex.call(this,a.groupSeparator);a=h.inputmask.escapeRegex.call(this,a.radixPoint);c=c.join("");a=c.replace(RegExp(b,"g"),"").replace(RegExp(a),"");return f+(c.length-
  2. a.length)},postFormat:function(b,e,d,c){if(""==c.groupSeparator)return e;var a=b.slice(),f=h.inArray(c.radixPoint,b);d||a.splice(0==e||e<=f||c.skipRadixDance?e+1:e,0,"?");a=a.join("");if(c.autoGroup||d&&-1!=a.indexOf(c.groupSeparator)){for(var g=h.inputmask.escapeRegex.call(this,c.groupSeparator),a=a.replace(RegExp(g,"g"),""),g=a.split(c.radixPoint),a=g[0],j=RegExp("([-+]?[\\d?]+)([\\d?]{"+c.groupSize+"})");j.test(a);)a=a.replace(j,"$1"+c.groupSeparator+"$2"),a=a.replace(c.groupSeparator+c.groupSeparator,
  3. c.groupSeparator);1<g.length&&(a+=c.radixPoint+g[1])}b.length=a.length;g=0;for(j=a.length;g<j;g++)b[g]=a.charAt(g);a=h.inArray("?",b);d||b.splice(a,1);return d?e:a<=f||c.skipRadixDance&&0!=a?a-1:a},regex:{number:function(b){var e=h.inputmask.escapeRegex.call(this,b.groupSeparator),d=h.inputmask.escapeRegex.call(this,b.radixPoint),c=isNaN(b.digits)?b.digits:"{0,"+b.digits+"}";return RegExp("^"+("["+(b.allowPlus?"+":"")+(b.allowMinus?"-":"")+"]?")+"(\\d+|\\d{1,"+b.groupSize+"}(("+e+"\\d{"+b.groupSize+
  4. "})?)+)("+d+"\\d"+c+")?$")}},onKeyDown:function(b,e,d){var c=h(this);if(b.keyCode==d.keyCode.TAB){if(b=h.inArray(d.radixPoint,e),-1!=b){for(var a=c.data("_inputmask").masksets,c=c.data("_inputmask").activeMasksetIndex,f=1;f<=d.digits&&f<d.getMaskLength(a[c]._buffer,a[c].greedy,a[c].repeat,e,d);f++)void 0==e[b+f]&&(e[b+f]="0");this._valueSet(e.join(""))}}else if(b.keyCode==d.keyCode.DELETE||b.keyCode==d.keyCode.BACKSPACE)d.postFormat(e,0,!0,d),this._valueSet(e.join(""))},definitions:{"~":{validator:function(b,
  5. e,d,c,a){if(""==b)return!1;if(!c&&1>=d&&"0"===e[0]&&/[\d-]/.test(b)&&1==e.length)return e[0]="",{pos:0};var f=c?e.slice(0,d):e.slice();f.splice(0==d&&0==e.length?d:d+1,0,b);f=f.join("");if(a.autoGroup&&!c)var g=h.inputmask.escapeRegex.call(this,a.groupSeparator),f=f.replace(RegExp(g,"g"),"");g=a.regex.number(a).test(f);if(!g&&(f+="0",g=a.regex.number(a).test(f),!g)){g=f.lastIndexOf(a.groupSeparator);for(i=f.length-g;3>=i;i++)f+="0";g=a.regex.number(a).test(f);if(!g&&!c&&b==a.radixPoint&&(g=a.regex.number(a).test("0"+
  6. f+"0")))return e[d]="0",d++,{pos:d}}return!1!=g&&!c&&b!=a.radixPoint?{pos:a.postFormat(e,d,!1,a)}:g},cardinality:1,prevalidator:null}},insertMode:!0,autoUnmask:!1},integer:{regex:{number:function(b){var e=h.inputmask.escapeRegex.call(this,b.groupSeparator);return RegExp("^"+("["+(b.allowPlus?"+":"")+(b.allowMinus?"-":"")+"]?")+"(\\d+|\\d{1,"+b.groupSize+"}(("+e+"\\d{"+b.groupSize+"})?)+)$")}},alias:"decimal"}})})(jQuery);