From 53fff1c3280ddc994b335257caf368eecb34b8bd Mon Sep 17 00:00:00 2001 From: Robin Herbots Date: Wed, 20 Mar 2013 12:19:46 +0100 Subject: [PATCH] fix integer mask --- dist/jQuery.InputMask.1.3.9.nupkg | Bin 31468 -> 31457 bytes dist/jquery.inputmask.bundle.js | 7 +- dist/jquery.inputmask.bundle.min.js | 92 +++++++++--------- .../jquery.inputmask.numeric.extensions.js | 2 +- js/jquery.inputmask.numeric.extensions.js | 7 +- 5 files changed, 57 insertions(+), 51 deletions(-) diff --git a/dist/jQuery.InputMask.1.3.9.nupkg b/dist/jQuery.InputMask.1.3.9.nupkg index 0453da0eecd2de6f1cfddcefa11806e138d6fffd..ef24cb3d85ee75a3b2cdae5a2fe977cd97c7f342 100644 GIT binary patch delta 3664 zcma)9S5On$7EJ(=P68+(7+UBcEuo`y!2lsBges)alp@7YB!sTgF-TFGDAJoC3Me4b ziwdGa=^`M#Xt)9a-p##p-<$jQ&dfe*X74#`pE)0EpS4B>&QXCp)(A!>HUNFOVS^35 zM085)d7waEO%<35OjTJEri{hH+%+`CMU^t%K*_#9qOK+$?v7E$V70I?oVtdlDn`{q z-9u9qr=<#4RZ%;4BghwzyCE)Wj@J{n(el8ms%xmKd%)ltFs!mWS&9L|;D&85WvFDJ z<4-0fb~-{q=}chy1;&ZD@|sTq01$Bi;37HF#*EB)N}j~m&jQ@OY%V*m>Gz<&yF7of zo1kOp=*H_{Q)25wk(!wfBA|c7K#RP|7NrNEw;KfqMDydKsql^4tkSh>zZqFy%AB_%GjXENhz1{N*RJ@rUX34e(9yj z?~xs7_+aJIWV^?!(l+}!aoE@D5SU@lMZDKp$C(#S>z}>*FmHDQZ8AFezYh$N%g=r! ztQO7qEjM(9fYN^)FgN?ZV5y3nLDrOZRIaPM6dWW?5fN?#>LCYtVKg^CRJUo&R;@d_ za^B{)%fwaB%$e@^I*DT9=+L*wA78j!m>@E2se`3p&hlY{MT2EG2x?_IrEh2#>!{6$ z^6C=C9D?UiHf^)2%HbT}xnP$Qx$d1*d+sX52c6U6T<=>1KJ#J|*wKd}uI*ZO zM39QuZeJIc5Z{$PoAGuuBY$gF5P}|5D-|aGmZUC40MT~452YFeQ!Gk2E_)9`t$0kv zmXKospdA4PPG=qSq1aV%!%oJ|b?z&_Em4jP#Y|mQRc3%F0o&Le-QCUKK3EaEP-VD<@)Gz)2BLC-RQVJ;K-?Bh^Q*0R>IM4 zJI3(Cc)iied3m-AQeiK$L*D(!n|AC-DgAjOsl>0k_;ZEXQdwU0EBr~e-0Pn(O5?OV ziGz5>RXzRH{8Y@noQn!fR@XK=vre>h^^Fn3jiO4)6V|m?$mWgB%x3Umuc-dGEc7tx zrdS*g(z79FM=mn+{;kzX&jLGBK~#ZpWc<(Xckj<;EztP7Xr-bpJqnGGup5aO4PJgL z;-=pzU$`AZhk`M7Xe<1_iAmh|?K2ExiAF&2J}!MS?{FwbK#F#(o>UI5ZBQ6y31^R5 zJUftomx3GIASRcG z6s>SIh{cstlTYya3yEWSQamfN9U8 ztjs*X_)u<`z561YdLq@UgzJ8RsKq1PgTW(k_U{gP#* zl$v=j6T()VUGDCnlhD1Jaos`H)Go=1i3m2O)>*mTA!iBCih?@3PlaF3`z-Agj_CPV z`P^|Pv9M~%6|1CzqaJkEu2aJ0XvXEhwdrP&oE*6^=EZU=&c&g?N`<3|Zub`<@DZ`? zn(`SJgTwT} zb4cs@$YZZttVGi=_tgvr+4m^RZhJA=&wInu&o2$iTRh|Us<;vl)yxz`rjyT8@(y<5 zBnSCT_FXz_k}V`x7&SZfua^bDZA;Bq@j~(wjzzfF&7$)IE?F`UR(v?QPfZ{UG0Bsp zSvV4TwcwTBn}V97cjU+O{7e3+smN=RU`m5j*e5}wZ65LqjyUbjzP))Z%V@Oa@(c?i z`(2I_$655}=y%c)5274}QDwAea%0_5z0O)cJ%Jkv#hOV0BMI}m-?kE>Tv>I^hTo4zQ)Y>FKhkO+s#_$E2jsL7`HPl!$Q`{pBKx*t4g+6 z86su!uKXyCwuP&@$L=JQ%etKU$UE+hyo8?}N(ib_zy>%@H>upgwoAC=%_eYEAgc?%|0B* z56D64D(jx=yVhLYkPc;)1_Z_+$MmU)fE zT*=e1aZUZw0DCKfZy{SQ%i6)Xd2*m+haJ#5brv%K=O1*u{7JDkp@7hPU8n{otdU^* zPE=FMsu#n$2;vYVUKnw>ON7C)P+rwVaAsL$mL#cS^;uN z-BZN7b~mK!xG=PBfcL$XlJ4={laTG7yLY?>c%PrCJ+b4K{=+qJtadfi^$56G*px|o zY5W9XL^@_as%4?=@LMC;7@7D03;>ote-RD)!uIm?p?<~8{v;i1knIdy^x>{->3G_d z2>@VWC*QIOCEd{nAsnB7){xE1c7znwKE`2)pJA%Zyv>Ulk%=R*F%kJ2mzKZD;ycl4`{=DywQDas?d>x`j9g zCi@h8*22t=pb@#|Cz8ZJS|`M9@nngvD(7r9GJRP6Kw=GTYl$8$(@^*SVewMEyu319 zS3=-QRTjD~v!sgMqC+KiY;gmJ+0lj`fiOo=TPLzBTS9%0C#qz}Ho;vweILWYe%DdL zFBes^8=LPhn2To?-W1DVtP#rdrcimBrihEn0s7ugx+3SSWt-y)#o~2b`xSn!#FxMP zCDK`vL5di?+?wdcmo$Eyj7S3=gsw?ovJALIT31QY(g#Jd52A zd3pjHiWFT>+a4OBrrp@N1ef>Hu}^4nYB|}a`$t#zKRr7*8PVC_$S4`YVi`m6@osOw zxZ4vQ3znkX_~Wsj-fWz@IV$|ncBhUxkZ3tRN0OLG3=2 zHS7fwh}ES*rmrJM)@&X-3wX<(PTz-Lf#2gFA?nIXm%dTqGqq}$*llz9j_L!`B-n~) z6}~hwbxY-r*Ct3dxLHjYkg#45IUJ9}%Dvas4bViv$Jb834?rv8!%`)y@;)}eL9ESz#5uEf%!>`Md8&SaiW zs+Yj)!(clUL814hklnPYc_gn}k#GJI_^Cj>(;;)djSmddGO_k-WLfr+?_d&5vC8#S z`_f5UYD`*pvC$`Qhdoy}BFYP7$c;EAecVHQ9XG~WpxQuCN14UWqXWKTid(%&;d)*QdvbQ|iM9p}c zy~OWdd%nQc*=Bu{x&0x2^;zcTr=WOh2cc#}*3@f5N+YXA&gVnF(Gz*KmY;K^-bp?& z9`U$hB71%Z&lyn&rF$n16s5M(^4^mYu1lIu%P$U27lp7zT!68_@)}W_!`po79{BBq zx|>h&>GdAKtk_P3@iWgn9b}-3bW>JpZ(8o~BTxU~1OjN(Z?rn%;LTR*w}p2$5PPko z<%gCBHe@R|tFP@>)4@lIK|v&G6Hm+fJ_|eQ!xU(mtC?MzDaVGI)non{c3#0u9Jkz= zL;h0}Try(2u^9>eA-oKptPMturP6wv_Melf#iPDDG9ST=GE2ZRZ+;mOt|VK5NGr3i z3EqSE6`uD8fL3k_Y`L?xKI%g|BoJ^rYy3H0FklNJ2&6|Geb?Wm3on!KMvjH})9mDkU7u!NBs52O=vIROnPV zf)O3c2sh|(Cgl2GI`%)4LMDfJ(krwOVaD&m0CJR#8rdq8i=Mg~D$ID^?C(@vsJIB7 z`jo|8VPggWfae4NVDy*i`e(}_Z-?55{aYjf0K`A#ztF*k&SpWb3*(?SXbTf&grfg$ z01D^%t3md{c%k5*3QG^vzYb%_2H{H9|JSovBY+Hwfd84oDQdyvb|3&i58i)~o*;LG LOEH59^yGg4IsKRl delta 3652 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 diff --git a/dist/jquery.inputmask.bundle.js b/dist/jquery.inputmask.bundle.js index 3bc963f1c..afef9b2ff 100644 --- a/dist/jquery.inputmask.bundle.js +++ b/dist/jquery.inputmask.bundle.js @@ -1729,7 +1729,7 @@ Optional extensions on the jquery.inputmask base if (!greedy && repeat > 1) { calculatedLength += (buffer.length * (repeat - 1)); } - + var escapedGroupSeparator = $.inputmask.escapeRegex.call(this, opts.groupSeparator); var escapedRadixPoint = $.inputmask.escapeRegex.call(this, opts.radixPoint); var currentBufferStr = currentBuffer.join(''), strippedBufferStr = currentBufferStr.replace(new RegExp(escapedGroupSeparator, "g"), "").replace(new RegExp(escapedRadixPoint), ""), @@ -1854,7 +1854,10 @@ Optional extensions on the jquery.inputmask base }, 'integer': { regex: { - number: function (groupSeparator, groupSize) { return new RegExp("^([\+\-]?\\d*)$"); } + number: function (groupSeparator, groupSize) { + var escapedGroupSeparator = $.inputmask.escapeRegex.call(this, groupSeparator); + return new RegExp("^[\+-]?(\\d+|\\d{1," + groupSize + "}((" + escapedGroupSeparator + "\\d{" + groupSize + "})?)+)$"); + } }, alias: "decimal" } diff --git a/dist/jquery.inputmask.bundle.min.js b/dist/jquery.inputmask.bundle.min.js index 020e387e4..2eaa40675 100644 --- a/dist/jquery.inputmask.bundle.min.js +++ b/dist/jquery.inputmask.bundle.min.js @@ -7,57 +7,57 @@ */ (function(f){void 0==f.fn.inputmask&&(f.inputmask={defaults:{placeholder:"_",optionalmarker:{start:"[",end:"]"},escapeChar:"\\",mask:null,oncomplete:f.noop,onincomplete:f.noop,oncleared:f.noop,repeat:0,greedy:!0,autoUnmask:!1,clearMaskOnLostFocus:!0,insertMode:!0,clearIncomplete:!1,aliases:{},onKeyUp:f.noop,onKeyDown:f.noop,showMaskOnFocus:!0,showMaskOnHover:!0,onKeyValidation:f.noop,numericInput:!1,radixPoint:"",definitions:{9:{validator:"[0-9]",cardinality:1},a:{validator:"[A-Za-z\u0410-\u044f\u0401\u0451]", cardinality:1},"*":{validator:"[A-Za-z\u0410-\u044f\u0401\u04510-9]",cardinality:1}},keyCode:{ALT:18,BACKSPACE:8,CAPS_LOCK:20,COMMA:188,COMMAND:91,COMMAND_LEFT:91,COMMAND_RIGHT:93,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,INSERT:45,LEFT:37,MENU:93,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SHIFT:16,SPACE:32,TAB:9,UP:38,WINDOWS:91},ignorables:[9,13,19,27,33,34,35,36,37, -38,39,40,45,46,93,112,113,114,115,116,117,118,119,120,121,122,123],getMaskLength:function(a,e,c){var d=a.length;!e&&1=m?f[m-1]:[],j=n.validator,n=n.cardinality;d.push({fn:j?"string"==typeof j?RegExp(j):new function(){this.test=j}:/./,cardinality:n?n:1,optionality:a,newBlockMarker:!0==a?c:!1,offset:0,casing:h.casing,def:e});!0==a&&(c=!1)}d.push({fn:h.validator?"string"==typeof h.validator?RegExp(h.validator):new function(){this.test=h.validator}:/./,cardinality:h.cardinality, -optionality:a,newBlockMarker:c,offset:0,casing:h.casing,def:e})}else d.push({fn:null,cardinality:0,optionality:a,newBlockMarker:c,offset:0,casing:null,def:e}),b=!1;c=!1;return d}})}function h(a,b,c,e){var d=!1;if(0<=a&&af;m--)k+=x(c,h-(m-1));b&&(k+=b);d=null!=n[h].fn?n[h].fn.test(k,c,a,e,g):!1}setTimeout(function(){g.onKeyValidation.call(this,d,g)},0);return d}function k(a){a=n[a%n.length];return void 0!=a?a.fn:!1}function B(a){return g.placeholder.charAt(a% -g.placeholder.length)}function p(a){return g.getMaskLength(m,g.greedy,g.repeat,a,g)}function y(a,b){var c=p(a);if(b>=c)return c;for(var e=b;++e=c)return 0;for(;0<--c&&!k(c););return c}function D(a,b,c){var e=n[b%n.length],d=c;if(void 0!=d)switch(e.casing){case "upper":d=c.toUpperCase();break;case "lower":d=c.toLowerCase()}a[b]=d}function x(a,b,c){c&&(b=Q(a,b));return a[b]}function Q(a,b,c){if(c)for(;0>b&&a.length=l?f[l-1]:[],j=n.validator,n=n.cardinality;e.push({fn:j?"string"==typeof j?RegExp(j):new function(){this.test=j}:/./,cardinality:n?n:1,optionality:a,newBlockMarker:!0==a?c:!1,offset:0,casing:g.casing,def:d});!0==a&&(c=!1)}e.push({fn:g.validator?"string"==typeof g.validator?RegExp(g.validator):new function(){this.test=g.validator}:/./,cardinality:g.cardinality, +optionality:a,newBlockMarker:c,offset:0,casing:g.casing,def:d})}else e.push({fn:null,cardinality:0,optionality:a,newBlockMarker:c,offset:0,casing:null,def:d}),b=!1;c=!1;return e}})}function g(a,b,c,d){var e=!1;if(0<=a&&af;l--)m+=y(c,g-(l-1));b&&(m+=b);e=null!=n[g].fn?n[g].fn.test(m,c,a,d,h):!1}setTimeout(function(){h.onKeyValidation.call(this,e,h)},0);return e}function m(a){a=n[a%n.length];return void 0!=a?a.fn:!1}function u(a){return h.placeholder.charAt(a% +h.placeholder.length)}function p(a){return h.getMaskLength(l,h.greedy,h.repeat,a,h)}function z(a,b){var c=p(a);if(b>=c)return c;for(var d=b;++d=c)return 0;for(;0<--c&&!m(c););return c}function D(a,b,c){var d=n[b%n.length],e=c;if(void 0!=e)switch(d.casing){case "upper":e=c.toUpperCase();break;case "lower":e=c.toLowerCase()}a[b]=e}function y(a,b,c){c&&(b=Q(a,b));return a[b]}function Q(a,b,c){if(c)for(;0>b&&a.lengthC&&(l-=1,g.numericInput&&""!=g.radixPoint&&j[l]==g.radixPoint?(l=N(C,j.length- -1==l?l:l-1,B(l),!0),l++):A?(l=N(C,l,B(l),!0),l=j[l+1]==g.radixPoint?l+1:y(j,l)):l=e(l,k),z(b,j,l))}b._valueGet()==m.join("")&&f(b).trigger("cleared");a.preventDefault()}else c==g.keyCode.END||c==g.keyCode.PAGE_DOWN?setTimeout(function(){var c=s(b,j,!1,!0);!g.insertMode&&(c==p(j)&&!a.shiftKey)&&c--;o(b,a.shiftKey?h.begin:c,c)},0):c==g.keyCode.HOME||c==g.keyCode.PAGE_UP?o(b,0,a.shiftKey?h.begin:0):c==g.keyCode.ESCAPE?(b._valueSet(E),o(b,0,s(b,j))):c==g.keyCode.INSERT?(g.insertMode=!g.insertMode,o(b, -!g.insertMode&&h.begin==p(j)?h.begin-1:h.begin)):a.ctrlKey&&88==c?setTimeout(function(){o(b,s(b,j,!0))},0):g.insertMode||(c==g.keyCode.RIGHT?(k=h.begin==h.end?h.end+1:h.end,k=k=l;)m=0==m?-1:K(j,m);m>=l?N(l,j.length,k):d=!1}else D(j,l,k);d&&(k=y(j,l),z(b,j,k),setTimeout(function(){P(b)&&c.trigger("complete")},0))}else H&&z(b,j,m.begin); -a.preventDefault()}}function u(a){var b=f(this),c=a.keyCode;g.onKeyUp.call(this,a,j,g);c==g.keyCode.TAB&&(b.hasClass("focus.inputmask")&&0==this._valueGet().length&&g.showMaskOnFocus)&&(j=m.slice(),z(this,j),A||o(this,0),E=this._valueGet())}var r=f(a);if(r.is(":input")){var j=m.slice();g.greedy=g.greedy?g.greedy:0==g.repeat;var v=r.prop("maxLength");p(j)>v&&-1G&&(!1!==h(c,j[c],j,!0)||!k(c))? -c:G):o(a,c=parseInt(RegExp(/[0-9]+/).exec(W));if("string"==typeof a)switch(a){case "mask":c(g.alias,e);var m=d(),n=b();return this.each(function(){M(this)});case "unmaskedvalue":return n=this.data("inputmask").tests,m=this.data("inputmask")._buffer,g.greedy=this.data("inputmask").greedy,g.repeat=this.data("inputmask").repeat,g.definitions=this.data("inputmask").definitions,T(this);case "remove":return this.each(function(){var a=f(this),b=this;setTimeout(function(){if(a.data("inputmask")){n= -a.data("inputmask").tests;m=a.data("inputmask")._buffer;g.greedy=a.data("inputmask").greedy;g.repeat=a.data("inputmask").repeat;g.definitions=a.data("inputmask").definitions;b._valueSet(T(a,!0));a.removeData("inputmask");a.unbind(".inputmask");a.removeClass("focus.inputmask");var c;Object.getOwnPropertyDescriptor&&(c=Object.getOwnPropertyDescriptor(b,"value"));c&&c.get?b._valueGet&&Object.defineProperty(b,"value",{get:b._valueGet,set:b._valueSet}):document.__lookupGetter__&&b.__lookupGetter__("value")&& -b._valueGet&&(b.__defineGetter__("value",b._valueGet),b.__defineSetter__("value",b._valueSet));delete b._valueGet;delete b._valueSet}},0)});case "getemptymask":return this.data("inputmask")?this.data("inputmask")._buffer.join(""):"";case "hasMaskedValue":return this.data("inputmask")?!this.data("inputmask").autoUnmask:!1;case "isComplete":return n=this.data("inputmask").tests,m=this.data("inputmask")._buffer,g.greedy=this.data("inputmask").greedy,g.repeat=this.data("inputmask").repeat,g.definitions= -this.data("inputmask").definitions,P(this[0]);default:return c(a,e)||(g.mask=a),m=d(),n=b(),this.each(function(){M(this)})}else{if("object"==typeof a)return g=f.extend(!0,{},f.inputmask.defaults,a),c(g.alias,a),m=d(),n=b(),this.each(function(){M(this)});if(void 0==a)return this.each(function(){var a=f(this).attr("data-inputmask");if(a&&""!=a)try{var a=a.replace(RegExp("'","g"),'"'),b=f.parseJSON("{"+a+"}");g=f.extend(!0,{},f.inputmask.defaults,b);c(g.alias,b);g.alias=void 0;f(this).inputmask(g)}catch(d){}})}return this})})(jQuery); +f(this),b=f.inputmask.val.apply(a,c);a.data("inputmask")&&a.triggerHandler("setvalue.inputmask");return b})},f.extend(f.fn.val,{inputmaskpatch:!0})}function d(a,b){if(h.numericInput&&""!=h.radixPoint){var c=a._valueGet().indexOf(h.radixPoint);B=b.begin<=c||b.end<=c||-1==c}}function e(a,b,c){for(;!m(a)&&0<=a-1;)a--;for(var d=a;dC&&(k-=1,h.numericInput&&""!=h.radixPoint&&j[k]==h.radixPoint?(k=N(C,j.length- +1==k?k:k-1,u(k),!0),k++):B?(k=N(C,k,u(k),!0),k=j[k+1]==h.radixPoint?k+1:z(j,k)):k=e(k,m),A(b,j,k))}b._valueGet()==l.join("")&&f(b).trigger("cleared");a.preventDefault()}else c==h.keyCode.END||c==h.keyCode.PAGE_DOWN?setTimeout(function(){var c=s(b,j,!1,!0);!h.insertMode&&(c==p(j)&&!a.shiftKey)&&c--;o(b,a.shiftKey?g.begin:c,c)},0):c==h.keyCode.HOME||c==h.keyCode.PAGE_UP?o(b,0,a.shiftKey?g.begin:0):c==h.keyCode.ESCAPE?(b._valueSet(E),o(b,0,s(b,j))):c==h.keyCode.INSERT?(h.insertMode=!h.insertMode,o(b, +!h.insertMode&&g.begin==p(j)?g.begin-1:g.begin)):a.ctrlKey&&88==c?setTimeout(function(){o(b,s(b,j,!0))},0):h.insertMode||(c==h.keyCode.RIGHT?(m=g.begin==g.end?g.end+1:g.end,m=m=k;)l=0==l?-1:K(j,l);l>=k?N(k,j.length,m):d=!1}else D(j,k,m);d&&(m=z(j,k),A(b,j,m),setTimeout(function(){P(b)&&c.trigger("complete")},0))}else H&&A(b,j,l.begin); +a.preventDefault()}}function v(a){var b=f(this),c=a.keyCode;h.onKeyUp.call(this,a,j,h);c==h.keyCode.TAB&&(b.hasClass("focus.inputmask")&&0==this._valueGet().length&&h.showMaskOnFocus)&&(j=l.slice(),A(this,j),B||o(this,0),E=this._valueGet())}var r=f(a);if(r.is(":input")){var j=l.slice();h.greedy=h.greedy?h.greedy:0==h.repeat;var w=r.prop("maxLength");p(j)>w&&-1G&&(!1!==g(c,j[c],j,!0)||!m(c))? +c:G):o(a,c=parseInt(RegExp(/[0-9]+/).exec(W));if("string"==typeof a)switch(a){case "mask":c(h.alias,d);var l=e(),n=b();return this.each(function(){M(this)});case "unmaskedvalue":return n=this.data("inputmask").tests,l=this.data("inputmask")._buffer,h.greedy=this.data("inputmask").greedy,h.repeat=this.data("inputmask").repeat,h.definitions=this.data("inputmask").definitions,T(this);case "remove":return this.each(function(){var a=f(this),b=this;setTimeout(function(){if(a.data("inputmask")){n= +a.data("inputmask").tests;l=a.data("inputmask")._buffer;h.greedy=a.data("inputmask").greedy;h.repeat=a.data("inputmask").repeat;h.definitions=a.data("inputmask").definitions;b._valueSet(T(a,!0));a.removeData("inputmask");a.unbind(".inputmask");a.removeClass("focus.inputmask");var c;Object.getOwnPropertyDescriptor&&(c=Object.getOwnPropertyDescriptor(b,"value"));c&&c.get?b._valueGet&&Object.defineProperty(b,"value",{get:b._valueGet,set:b._valueSet}):document.__lookupGetter__&&b.__lookupGetter__("value")&& +b._valueGet&&(b.__defineGetter__("value",b._valueGet),b.__defineSetter__("value",b._valueSet));delete b._valueGet;delete b._valueSet}},0)});case "getemptymask":return this.data("inputmask")?this.data("inputmask")._buffer.join(""):"";case "hasMaskedValue":return this.data("inputmask")?!this.data("inputmask").autoUnmask:!1;case "isComplete":return n=this.data("inputmask").tests,l=this.data("inputmask")._buffer,h.greedy=this.data("inputmask").greedy,h.repeat=this.data("inputmask").repeat,h.definitions= +this.data("inputmask").definitions,P(this[0]);default:return c(a,d)||(h.mask=a),l=e(),n=b(),this.each(function(){M(this)})}else{if("object"==typeof a)return h=f.extend(!0,{},f.inputmask.defaults,a),c(h.alias,a),l=e(),n=b(),this.each(function(){M(this)});if(void 0==a)return this.each(function(){var a=f(this).attr("data-inputmask");if(a&&""!=a)try{var a=a.replace(RegExp("'","g"),'"'),b=f.parseJSON("{"+a+"}");h=f.extend(!0,{},f.inputmask.defaults,b);c(h.alias,b);h.alias=void 0;f(this).inputmask(h)}catch(d){}})}return this})})(jQuery); (function(f){f.extend(f.inputmask.defaults.definitions,{A:{validator:"[A-Za-z]",cardinality:1,casing:"upper"},"#":{validator:"[A-Za-z\u0410-\u044f\u0401\u04510-9]",cardinality:1,casing:"upper"}});f.extend(f.inputmask.defaults.aliases,{url:{mask:"ir",placeholder:"",separator:"",defaultPrefix:"http://",regex:{urlpre1:/[fh]/,urlpre2:/(ft|ht)/,urlpre3:/(ftp|htt)/,urlpre4:/(ftp:|http|ftps)/,urlpre5:/(ftp:\/|ftps:|http:|https)/,urlpre6:/(ftp:\/\/|ftps:\/|http:\/|https:)/,urlpre7:/(ftp:\/\/|ftps:\/\/|http:\/\/|https:\/)/, -urlpre8:/(ftp:\/\/|ftps:\/\/|http:\/\/|https:\/\/)/},definitions:{i:{validator:function(){return!0},cardinality:8,prevalidator:function(){for(var a=[],e=0;8>e;e++)a[e]=function(){var a=e;return{validator:function(d,b,e,k,f){if(f.regex["urlpre"+(a+1)]){var p=d;0d;d++)a[d]=function(){var a=d;return{validator:function(d,b,g,f,u){if(u.regex["urlpre"+(a+1)]){var p=d;0c?a:ec?a:da?(e[c]=a.toString(), -e[c-1]="0"):(e[c]=a.toString().charAt(1),e[c-1]=a.toString().charAt(0)),{pos:c,c:e[c]}):h},cardinality:2,prevalidator:[{validator:function(a,e,c,d,b){var h=b.regex.hrspre.test(a);return!d&&!h&&(h=b.regex.hrs.test("0"+a))?(e[c]="0",c++,{pos:c}):h},cardinality:1}]},t:{validator:function(a,e,c,d,b){var h=b.regex.ampm.test(a);return!d&&!h&&(h=b.regex.ampm.test(a+"m"))?(e[c-1]=a.charAt(0),e[c]="m",c++,c):h},casing:"lower",cardinality:2,prevalidator:[{validator:function(a,e,c,d,b){if(d=b.regex.ampmpre.test(a))if(d= -b.regex.ampm.test(a+"m"))return e[c]=a,e[c+1]="m",c;return d},cardinality:1}]}},insertMode:!1,autoUnmask:!1},datetime12:{mask:"1/2/y h:s t",placeholder:"dd/mm/yyyy hh:mm xm",alias:"datetime",hourFormat:"12"},"hh:mm t":{mask:"h:s t",placeholder:"hh:mm xm",alias:"datetime",hourFormat:"12"},"h:s t":{mask:"h:s t",placeholder:"hh:mm xm",alias:"datetime",hourFormat:"12"},"hh:mm:ss":{mask:"h:s:s",autoUnmask:!1},"hh:mm":{mask:"h:s",autoUnmask:!1},date:{alias:"dd/mm/yyyy"}})})(jQuery); -(function(f){f.extend(f.inputmask.defaults.aliases,{decimal:{mask:"~",placeholder:"",repeat:10,greedy:!1,numericInput:!0,digits:"*",groupSeparator:",",radixPoint:".",groupSize:3,autoGroup:!1,getMaskLength:function(a,e,c,d,b){var h=a.length;!e&&1=i;i++)h+="0"; -f=b.regex.number(b.groupSeparator,b.groupSize,b.radixPoint,b.digits).test(h);if(!f&&!d&&a==b.radixPoint&&(f=b.regex.number(b.groupSeparator,b.groupSize,b.radixPoint,b.digits).test("0"+h+"0")))return e[c]="0",c++,{pos:c}}return!1!=f&&!d&&a!=b.radixPoint?{pos:b.postFormat(e,c+1,!1,b)}:f},cardinality:1,prevalidator:null}},insertMode:!0,autoUnmask:!1},"non-negative-decimal":{regex:{number:function(a,e,c,d){a=f.inputmask.escapeRegex.call(this,a);c=f.inputmask.escapeRegex.call(this,c);d=isNaN(d)?d:"{0,"+ -d+"}";return RegExp("^[+]?(\\d+|\\d{1,"+e+"}(("+a+"\\d{"+e+"})?)+)("+c+"\\d"+d+")?$")}},alias:"decimal"},integer:{regex:{number:function(){return/^([+-]?\d*)$/}},alias:"decimal"}})})(jQuery); +regex:{hrspre:/[012]/,hrs24:/2[0-9]|1[3-9]/,hrs:/[01][0-9]|2[0-3]/,ampmpre:/[apAP]/,ampm:/^[a|p|A|P][m|M]/},timeseparator:":",hourFormat:"24",definitions:{h:{validator:function(a,d,c,e,b){var g=b.regex.hrs.test(a);if(!e&&!g&&(a.charAt(1)==b.timeseparator||-1!="-.:".indexOf(a.charAt(1))))if(g=b.regex.hrs.test("0"+a.charAt(0)))return d[c-1]="0",d[c]=a.charAt(0),c++,{pos:c};return g&&"24"!==b.hourFormat&&b.regex.hrs24.test(a)?(a=parseInt(a,10),d[c+5]=24==a?"a":"p",d[c+6]="m",a-=12,10>a?(d[c]=a.toString(), +d[c-1]="0"):(d[c]=a.toString().charAt(1),d[c-1]=a.toString().charAt(0)),{pos:c,c:d[c]}):g},cardinality:2,prevalidator:[{validator:function(a,d,c,e,b){var g=b.regex.hrspre.test(a);return!e&&!g&&(g=b.regex.hrs.test("0"+a))?(d[c]="0",c++,{pos:c}):g},cardinality:1}]},t:{validator:function(a,d,c,e,b){var g=b.regex.ampm.test(a);return!e&&!g&&(g=b.regex.ampm.test(a+"m"))?(d[c-1]=a.charAt(0),d[c]="m",c++,c):g},casing:"lower",cardinality:2,prevalidator:[{validator:function(a,d,c,e,b){if(e=b.regex.ampmpre.test(a))if(e= +b.regex.ampm.test(a+"m"))return d[c]=a,d[c+1]="m",c;return e},cardinality:1}]}},insertMode:!1,autoUnmask:!1},datetime12:{mask:"1/2/y h:s t",placeholder:"dd/mm/yyyy hh:mm xm",alias:"datetime",hourFormat:"12"},"hh:mm t":{mask:"h:s t",placeholder:"hh:mm xm",alias:"datetime",hourFormat:"12"},"h:s t":{mask:"h:s t",placeholder:"hh:mm xm",alias:"datetime",hourFormat:"12"},"hh:mm:ss":{mask:"h:s:s",autoUnmask:!1},"hh:mm":{mask:"h:s",autoUnmask:!1},date:{alias:"dd/mm/yyyy"}})})(jQuery); +(function(f){f.extend(f.inputmask.defaults.aliases,{decimal:{mask:"~",placeholder:"",repeat:10,greedy:!1,numericInput:!0,digits:"*",groupSeparator:",",radixPoint:".",groupSize:3,autoGroup:!1,getMaskLength:function(a,d,c,e,b){var g=a.length;!d&&1=i;i++)g+="0"; +f=b.regex.number(b.groupSeparator,b.groupSize,b.radixPoint,b.digits).test(g);if(!f&&!e&&a==b.radixPoint&&(f=b.regex.number(b.groupSeparator,b.groupSize,b.radixPoint,b.digits).test("0"+g+"0")))return d[c]="0",c++,{pos:c}}return!1!=f&&!e&&a!=b.radixPoint?{pos:b.postFormat(d,c+1,!1,b)}:f},cardinality:1,prevalidator:null}},insertMode:!0,autoUnmask:!1},"non-negative-decimal":{regex:{number:function(a,d,c,e){a=f.inputmask.escapeRegex.call(this,a);c=f.inputmask.escapeRegex.call(this,c);e=isNaN(e)?e:"{0,"+ +e+"}";return RegExp("^[+]?(\\d+|\\d{1,"+d+"}(("+a+"\\d{"+d+"})?)+)("+c+"\\d"+e+")?$")}},alias:"decimal"},integer:{regex:{number:function(a,d){var c=f.inputmask.escapeRegex.call(this,a);return RegExp("^[+-]?(\\d+|\\d{1,"+d+"}(("+c+"\\d{"+d+"})?)+)$")}},alias:"decimal"}})})(jQuery); diff --git a/dist/min/jquery.inputmask.numeric.extensions.js b/dist/min/jquery.inputmask.numeric.extensions.js index a88926787..41d2c583f 100644 --- a/dist/min/jquery.inputmask.numeric.extensions.js +++ b/dist/min/jquery.inputmask.numeric.extensions.js @@ -3,4 +3,4 @@ c.slice();d||a.splice(e,0,"?");a=a.join("");if(b.autoGroup||d&&-1!=a.indexOf(b.g regex:{number:function(c,e,d,b){c=h.inputmask.escapeRegex.call(this,c);d=h.inputmask.escapeRegex.call(this,d);b=isNaN(b)?b:"{0,"+b+"}";return RegExp("^[+-]?(\\d+|\\d{1,"+e+"}(("+c+"\\d{"+e+"})?)+)("+d+"\\d"+b+")?$")}},onKeyDown:function(c,e,d){var b=h(this);if(c.keyCode==d.keyCode.TAB){if(c=this._valueGet(),e=c.indexOf(d.radixPoint),-1!=e){for(var a=1;a=i;i++)f+="0"; g=a.regex.number(a.groupSeparator,a.groupSize,a.radixPoint,a.digits).test(f);if(!g&&!b&&c==a.radixPoint&&(g=a.regex.number(a.groupSeparator,a.groupSize,a.radixPoint,a.digits).test("0"+f+"0")))return e[d]="0",d++,{pos:d}}return!1!=g&&!b&&c!=a.radixPoint?{pos:a.postFormat(e,d+1,!1,a)}:g},cardinality:1,prevalidator:null}},insertMode:!0,autoUnmask:!1},"non-negative-decimal":{regex:{number:function(c,e,d,b){c=h.inputmask.escapeRegex.call(this,c);d=h.inputmask.escapeRegex.call(this,d);b=isNaN(b)?b:"{0,"+ -b+"}";return RegExp("^[+]?(\\d+|\\d{1,"+e+"}(("+c+"\\d{"+e+"})?)+)("+d+"\\d"+b+")?$")}},alias:"decimal"},integer:{regex:{number:function(){return/^([+-]?\d*)$/}},alias:"decimal"}})})(jQuery); +b+"}";return RegExp("^[+]?(\\d+|\\d{1,"+e+"}(("+c+"\\d{"+e+"})?)+)("+d+"\\d"+b+")?$")}},alias:"decimal"},integer:{regex:{number:function(c,e){var d=h.inputmask.escapeRegex.call(this,c);return RegExp("^[+-]?(\\d+|\\d{1,"+e+"}(("+d+"\\d{"+e+"})?)+)$")}},alias:"decimal"}})})(jQuery); diff --git a/js/jquery.inputmask.numeric.extensions.js b/js/jquery.inputmask.numeric.extensions.js index aa9aa0149..0a41401b0 100644 --- a/js/jquery.inputmask.numeric.extensions.js +++ b/js/jquery.inputmask.numeric.extensions.js @@ -27,7 +27,7 @@ Optional extensions on the jquery.inputmask base if (!greedy && repeat > 1) { calculatedLength += (buffer.length * (repeat - 1)); } - + var escapedGroupSeparator = $.inputmask.escapeRegex.call(this, opts.groupSeparator); var escapedRadixPoint = $.inputmask.escapeRegex.call(this, opts.radixPoint); var currentBufferStr = currentBuffer.join(''), strippedBufferStr = currentBufferStr.replace(new RegExp(escapedGroupSeparator, "g"), "").replace(new RegExp(escapedRadixPoint), ""), @@ -152,7 +152,10 @@ Optional extensions on the jquery.inputmask base }, 'integer': { regex: { - number: function (groupSeparator, groupSize) { return new RegExp("^([\+\-]?\\d*)$"); } + number: function (groupSeparator, groupSize) { + var escapedGroupSeparator = $.inputmask.escapeRegex.call(this, groupSeparator); + return new RegExp("^[\+-]?(\\d+|\\d{1," + groupSize + "}((" + escapedGroupSeparator + "\\d{" + groupSize + "})?)+)$"); + } }, alias: "decimal" }