jquery.inputmask.js 23 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. /*
  2. Input Mask plugin for jquery
  3. http://github.com/RobinHerbots/jquery.inputmask
  4. Copyright (c) 2010 - 2013 Robin Herbots
  5. Licensed under the MIT license (http://www.opensource.org/licenses/mit-license.php)
  6. Version: 2.3.62
  7. */
  8. (function(b){void 0===b.fn.inputmask&&(b.inputmask={defaults:{placeholder:"_",optionalmarker:{start:"[",end:"]"},quantifiermarker:{start:"{",end:"}"},groupmarker:{start:"(",end:")"},escapeChar:"\\",mask:null,oncomplete:b.noop,onincomplete:b.noop,oncleared:b.noop,repeat:0,greedy:!0,autoUnmask:!1,clearMaskOnLostFocus:!0,insertMode:!0,clearIncomplete:!1,aliases:{},onKeyUp:b.noop,onKeyDown:b.noop,showMaskOnFocus:!0,showMaskOnHover:!0,onKeyValidation:b.noop,skipOptionalPartCharacter:" ",showTooltip:!1,
  9. numericInput:!1,isNumeric:!1,radixPoint:"",skipRadixDance:!1,rightAlignNumerics:!0,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,
  10. 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:[8,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(b,C,J,w,B){B=b.length;C||("*"==J?B=w.length+1:1<J&&(B+=b.length*(J-1)));return B}},escapeRegex:function(b){return b.replace(RegExp("(\\/|\\.|\\*|\\+|\\?|\\||\\(|\\)|\\[|\\]|\\{|\\}|\\\\)","gim"),"\\$1")}},b.fn.inputmask=function(F,
  11. C){function J(a){var b=document.createElement("input");a="on"+a;var c=a in b;c||(b.setAttribute(a,"return;"),c="function"==typeof b[a]);return c}function w(d,e){var c=a.aliases[d];return c?(c.alias&&w(c.alias),b.extend(!0,a,c),b.extend(!0,a,e),!0):!1}function B(d){a.numericInput&&(d=d.split("").reverse().join(""));var e=!1,c=0,m=a.greedy,n=a.repeat;"*"==n&&(m=!1);!0==m&&""==a.placeholder&&(a.placeholder=" ");1==d.length&&!1==m&&(a.placeholder="");d=b.map(d.split(""),function(b,g){var d=[];if(b==a.escapeChar)e=
  12. !0;else if(b!=a.optionalmarker.start&&b!=a.optionalmarker.end||e){var n=a.definitions[b];if(n&&!e)for(var q=0;q<n.cardinality;q++)d.push(N(c+q));else d.push(b),e=!1;c+=d.length;return d}});for(var g=d.slice(),Y=1;Y<n&&m;Y++)g=g.concat(d.slice());return{mask:g,repeat:n,greedy:m}}function O(d){a.numericInput&&(d=d.split("").reverse().join(""));var e=!1,c=!1,m=!1;return b.map(d.split(""),function(b,g){var d=[];if(b==a.escapeChar)c=!0;else{if(b!=a.optionalmarker.start||c){if(b!=a.optionalmarker.end||
  13. c){var h=a.definitions[b];if(h&&!c){for(var p=h.prevalidator,f=p?p.length:0,t=1;t<h.cardinality;t++){var q=f>=t?p[t-1]:[],k=q.validator,q=q.cardinality;d.push({fn:k?"string"==typeof k?RegExp(k):new function(){this.test=k}:/./,cardinality:q?q:1,optionality:e,newBlockMarker:!0==e?m:!1,offset:0,casing:h.casing,def:h.definitionSymbol||b});!0==e&&(m=!1)}d.push({fn:h.validator?"string"==typeof h.validator?RegExp(h.validator):new function(){this.test=h.validator}:/./,cardinality:h.cardinality,optionality:e,
  14. newBlockMarker:m,offset:0,casing:h.casing,def:h.definitionSymbol||b})}else d.push({fn:null,cardinality:0,optionality:e,newBlockMarker:m,offset:0,casing:null,def:b}),c=!1;m=!1;return d}e=!1}else e=!0;m=!0}})}function P(){function d(b){var c=b.length;for(i=0;i<c&&b.charAt(i)!=a.optionalmarker.start;i++);var d=[b.substring(0,i)];i<c&&d.push(b.substring(i+1,c));return d}function e(n,g,k){var h=0,p=0,f=g.length;for(i=0;i<f&&!(g.charAt(i)==a.optionalmarker.start&&h++,g.charAt(i)==a.optionalmarker.end&&
  15. p++,0<h&&h==p);i++);h=[g.substring(0,i)];i<f&&h.push(g.substring(i+1,f));p=d(h[0]);1<p.length?(g=n+p[0]+(a.optionalmarker.start+p[1]+a.optionalmarker.end)+(1<h.length?h[1]:""),-1==b.inArray(g,m)&&(m.push(g),f=B(g),c.push({mask:g,_buffer:f.mask,buffer:f.mask.slice(),tests:O(g),lastValidPosition:-1,greedy:f.greedy,repeat:f.repeat,metadata:k})),g=n+p[0]+(1<h.length?h[1]:""),-1==b.inArray(g,m)&&(m.push(g),f=B(g),c.push({mask:g,_buffer:f.mask,buffer:f.mask.slice(),tests:O(g),lastValidPosition:-1,greedy:f.greedy,
  16. repeat:f.repeat,metadata:k})),1<d(p[1]).length&&e(n+p[0],p[1]+h[1],k),1<h.length&&1<d(h[1]).length&&(e(n+p[0]+(a.optionalmarker.start+p[1]+a.optionalmarker.end),h[1],k),e(n+p[0],h[1],k))):(g=n+h,-1==b.inArray(g,m)&&(m.push(g),f=B(g),c.push({mask:g,_buffer:f.mask,buffer:f.mask.slice(),tests:O(g),lastValidPosition:-1,greedy:f.greedy,repeat:f.repeat,metadata:k})))}var c=[],m=[];b.isFunction(a.mask)&&(a.mask=a.mask.call(this,a));b.isArray(a.mask)?b.each(a.mask,function(a,b){void 0!=b.mask?e("",b.mask.toString(),
  17. b):e("",b.toString())}):e("",a.mask.toString());return a.greedy?c:c.sort(function(a,b){return a.mask.length-b.mask.length})}function N(b){return a.placeholder.charAt(b%a.placeholder.length)}function G(d,e){function c(){return d[e]}function m(){return c().tests}function n(){return c()._buffer}function g(){return c().buffer}function k(l,r,x){function Q(b,l,c,r){for(var d=f(b),ba=c?1:0,K="",s=l.buffer,X=l.tests[d].cardinality;X>ba;X--)K+=L(s,d-(X-1));c&&(K+=c);return null!=l.tests[d].fn?l.tests[d].fn.test(K,
  18. s,b,r,a):c==L(l._buffer,b,!0)||c==a.skipOptionalPartCharacter?{refresh:!0,c:L(l._buffer,b,!0),pos:b}:!1}if(x=!0===x){var H=Q(l,c(),r,x);!0===H&&(H={pos:l});return H}var n=[],H=!1,h=e,m=g().slice(),u=c().lastValidPosition;z(l);var v=[];b.each(d,function(a,b){if("object"==typeof b){e=a;var d=l,k=c().lastValidPosition,f;if(k==u){if(1<d-u)for(k=-1==k?0:k;k<d&&(f=Q(k,c(),m[k],!0),!1!==f);k++)A(g(),k,m[k],!0),!0===f&&(f={pos:k}),f=f.pos||k,c().lastValidPosition<f&&(c().lastValidPosition=f);if(!p(d)&&!Q(d,
  19. c(),r,x)){k=q(d)-d;for(f=0;f<k&&!1===Q(++d,c(),r,x);f++);v.push(e)}}(c().lastValidPosition>=u||e==h)&&0<=d&&d<t()&&(H=Q(d,c(),r,x),!1!==H&&(!0===H&&(H={pos:d}),f=H.pos||d,c().lastValidPosition<f&&(c().lastValidPosition=f)),n.push({activeMasksetIndex:a,result:H}))}});e=h;return function(a,c){var g=!1;b.each(c,function(ba,c){if(g=-1==b.inArray(c.activeMasksetIndex,a)&&!1!==c.result)return!1});if(g)c=b.map(c,function(c,l){if(-1==b.inArray(c.activeMasksetIndex,a))return c;d[c.activeMasksetIndex].lastValidPosition=
  20. u});else{var x=-1,e=-1;b.each(c,function(c,l){-1!=b.inArray(l.activeMasksetIndex,a)&&!1!==l.result&(-1==x||x>l.result.pos)&&(x=l.result.pos,e=l.activeMasksetIndex)});c=b.map(c,function(c,K){if(-1!=b.inArray(c.activeMasksetIndex,a)){if(c.result.pos==x)return c;if(!1!==c.result){for(var s=l;s<x&&(rsltValid=Q(s,d[c.activeMasksetIndex],d[e].buffer[s],!0),!1!==rsltValid);s++)A(d[c.activeMasksetIndex].buffer,s,d[e].buffer[s],!0),d[c.activeMasksetIndex].lastValidPosition=s;rsltValid=Q(x,d[c.activeMasksetIndex],
  21. r,!0);!1!==rsltValid&&(A(d[c.activeMasksetIndex].buffer,x,r,!0),d[c.activeMasksetIndex].lastValidPosition=x);return c}}})}return c}(v,n)}function h(){var a=e,r={activeMasksetIndex:0,lastValidPosition:-1,next:-1};b.each(d,function(a,b){"object"==typeof b&&(e=a,c().lastValidPosition>r.lastValidPosition?(r.activeMasksetIndex=a,r.lastValidPosition=c().lastValidPosition,r.next=q(c().lastValidPosition)):c().lastValidPosition==r.lastValidPosition&&(-1==r.next||r.next>q(c().lastValidPosition))&&(r.activeMasksetIndex=
  22. a,r.lastValidPosition=c().lastValidPosition,r.next=q(c().lastValidPosition)))});e=-1!=r.lastValidPosition&&d[a].lastValidPosition==r.lastValidPosition?a:r.activeMasksetIndex;a!=e&&(F(g(),q(r.lastValidPosition),t()),c().writeOutBuffer=!0);v.data("_inputmask").activeMasksetIndex=e}function p(a){a=f(a);a=m()[a];return void 0!=a?a.fn:!1}function f(a){return a%m().length}function t(){return a.getMaskLength(n(),c().greedy,c().repeat,g(),a)}function q(a){var b=t();if(a>=b)return b;for(;++a<b&&!p(a););return a}
  23. function z(a){if(0>=a)return 0;for(;0<--a&&!p(a););return a}function A(a,b,c,d){d&&(b=B(a,b));d=m()[f(b)];var g=c;if(void 0!=g)switch(d.casing){case "upper":g=c.toUpperCase();break;case "lower":g=c.toLowerCase()}a[b]=g}function L(a,b,c){c&&(b=B(a,b));return a[b]}function B(a,b){for(var c;void 0==a[b]&&a.length<t();)for(c=0;void 0!==n()[c];)a.push(n()[c++]);return b}function M(a,b,c){a._valueSet(b.join(""));void 0!=c&&u(a,c)}function F(a,b,c){for(var d=t();b<c&&b<d;b++)A(a,b,L(n().slice(),b,!0))}function w(a,
  24. b){var c=f(b);A(a,b,L(n(),c))}function C(g,r,k,f){f=void 0!=f?f.slice():G(g._valueGet()).split("");b.each(d,function(a,b){"object"==typeof b&&(b.buffer=b._buffer.slice(),b.lastValidPosition=-1,b.p=-1)});!0!==k&&(e=0);r&&g._valueSet("");t();b.each(f,function(d,e){var f=c().lastValidPosition,h=-1==f?d:q(f);(b.isArray(a.mask)||-1==b.inArray(e,n().slice(f+1,h)))&&b(g).trigger("_keypress",[!0,e.charCodeAt(0),r,k,d])});!0===k&&-1!=c().p&&(c().lastValidPosition=z(c().p))}function J(a){return b.inputmask.escapeRegex.call(this,
  25. a)}function G(a){return a.replace(RegExp("("+J(n().join(""))+")*$"),"")}function O(a){var b=g(),c=b.slice(),d,e;for(e=c.length-1;0<=e;e--)if(d=f(e),m()[d].optionality)if(p(e)&&k(e,b[e],!0))break;else c.pop();else break;M(a,c)}function P(a,c){if(!m()||!0!==c&&a.hasClass("hasDatepicker"))return a[0]._valueGet();var d=b.map(g(),function(a,b){return p(b)&&k(b,a,!0)?a:null});return(D?d.reverse():d).join("")}function T(a){D&&"number"==typeof a&&(a=g().length-a);return a}function u(c,d,g){var e=c.jquery&&
  26. 0<c.length?c[0]:c;if("number"==typeof d)d=T(d),g=T(g),b(c).is(":visible")&&(g="number"==typeof g?g:d,!1==a.insertMode&&d==g&&g++,e.setSelectionRange?(e.selectionStart=d,e.selectionEnd=U?d:g):e.createTextRange&&(c=e.createTextRange(),c.collapse(!0),c.moveEnd("character",g),c.moveStart("character",d),c.select()));else{if(!b(c).is(":visible"))return{begin:0,end:0};e.setSelectionRange?(d=e.selectionStart,g=e.selectionEnd):document.selection&&document.selection.createRange&&(c=document.selection.createRange(),
  27. d=0-c.duplicate().moveStart("character",-1E5),g=d+c.text.length);d=T(d);g=T(g);return{begin:d,end:g}}}function V(a){var c=!1,g=0,k=e;b.each(d,function(b,d){if("object"==typeof d){e=b;var k=z(t());if(d.lastValidPosition>=g&&d.lastValidPosition==k){for(var h=!0,m=0;m<=k;m++){var q=p(m),u=f(m);if(q&&(void 0==a[m]||a[m]==N(m))||!q&&a[m]!=n()[u]){h=!1;break}}if(c=c||h)return!1}g=d.lastValidPosition}});e=k;return c}var D=!1,S=g().join(""),v;this.unmaskedvalue=function(a,b){D=a.data("_inputmask").isRTL;
  28. return P(a,b)};this.isComplete=function(a){return V(a)};this.mask=function(l){function r(a){a=b._data(a).events;b.each(a,function(a,c){b.each(c,function(a,b){if("inputmask"==b.namespace&&"setvalue"!=b.type&&"_keypress"!=b.type){var c=b.handler;b.handler=function(a){if(this.readOnly||this.disabled)a.preventDefault;else return c.apply(this,arguments)}}})})}function x(a){var c;Object.getOwnPropertyDescriptor&&(c=Object.getOwnPropertyDescriptor(a,"value"));if(c&&c.get){if(!a._valueGet){var d=c.get,g=
  29. c.set;a._valueGet=function(){return D?d.call(this).split("").reverse().join(""):d.call(this)};a._valueSet=function(a){g.call(this,D?a.split("").reverse().join(""):a)};Object.defineProperty(a,"value",{get:function(){var a=b(this),c=b(this).data("_inputmask"),g=c.masksets,K=c.activeMasksetIndex;return c&&c.opts.autoUnmask?a.inputmask("unmaskedvalue"):d.call(this)!=g[K]._buffer.join("")?d.call(this):""},set:function(a){g.call(this,a);b(this).triggerHandler("setvalue.inputmask")}})}}else if(document.__lookupGetter__&&
  30. a.__lookupGetter__("value"))a._valueGet||(d=a.__lookupGetter__("value"),g=a.__lookupSetter__("value"),a._valueGet=function(){return D?d.call(this).split("").reverse().join(""):d.call(this)},a._valueSet=function(a){g.call(this,D?a.split("").reverse().join(""):a)},a.__defineGetter__("value",function(){var a=b(this),c=b(this).data("_inputmask"),g=c.masksets,K=c.activeMasksetIndex;return c&&c.opts.autoUnmask?a.inputmask("unmaskedvalue"):d.call(this)!=g[K]._buffer.join("")?d.call(this):""}),a.__defineSetter__("value",
  31. function(a){g.call(this,a);b(this).triggerHandler("setvalue.inputmask")}));else if(a._valueGet||(a._valueGet=function(){return D?this.value.split("").reverse().join(""):this.value},a._valueSet=function(a){this.value=D?a.split("").reverse().join(""):a}),void 0==b.valHooks.text||!0!=b.valHooks.text.inputmaskpatch)d=b.valHooks.text&&b.valHooks.text.get?b.valHooks.text.get:function(){return this.value},g=b.valHooks.text&&b.valHooks.text.set?b.valHooks.text.set:function(a){return this.value=a},jQuery.extend(b.valHooks,
  32. {text:{get:function(a){var c=b(a);if(c.data("_inputmask")){if(c.data("_inputmask").opts.autoUnmask)return c.inputmask("unmaskedvalue");a=d.call(a);c=c.data("_inputmask");return a!=c.masksets[c.activeMasksetIndex]._buffer.join("")?a:""}return d.call(a)},set:function(a,c){var d=b(a),s=g.call(a,c);d.data("_inputmask")&&d.triggerHandler("setvalue.inputmask");return s},inputmaskpatch:!0}})}function B(a,b,d,e){var I=g();if(!1!==e)for(;!p(a)&&0<=a-1;)a--;for(e=a;e<b&&e<t();e++)if(p(e)){w(I,e);var h=q(e),
  33. l=L(I,h);if(l!=N(h))if(h<t()&&!1!==k(e,l,!0)&&m()[f(e)].def==m()[f(h)].def)A(I,e,L(I,h),!0),h<b&&w(I,h);else if(p(e))break}else w(I,e);void 0!=d&&A(I,z(b),d);if(!1==c().greedy){b=G(I.join("")).split("");I.length=b.length;e=0;for(d=I.length;e<d;e++)I[e]=b[e];0==I.length&&(c().buffer=n().slice())}return a}function H(a,b,d,e){for(var h=g();a<=b&&a<t();a++)if(p(a)){var l=L(h,a,!0);A(h,a,d,!0);if(l!=N(a))if(d=q(a),d<t())if(!1!==k(d,l,!0)&&m()[f(a)].def==m()[f(d)].def)d=l;else if(p(d))break;else d=l;else break;
  34. else if(d=l,!0!==e)break}else w(h,a);e=h.length;if(!1==c().greedy){d=G(h.join("")).split("");h.length=d.length;a=0;for(l=h.length;a<l;a++)h[a]=d[a];0==h.length&&(c().buffer=n().slice())}return b-(e-h.length)}function J(b,d,e){if(a.numericInput||D){switch(d){case a.keyCode.BACKSPACE:d=a.keyCode.DELETE;break;case a.keyCode.DELETE:d=a.keyCode.BACKSPACE}if(D){var h=e.end;e.end=e.begin;e.begin=h}}h=!0;e.begin==e.end?(h=d==a.keyCode.BACKSPACE?e.begin-1:e.begin,a.isNumeric&&""!=a.radixPoint&&g()[h]==a.radixPoint&&
  35. (e.begin=g().length-1==h?e.begin:d==a.keyCode.BACKSPACE?h:q(h),e.end=e.begin),h=!1,d==a.keyCode.BACKSPACE?e.begin--:d==a.keyCode.DELETE&&e.end++):1!=e.end-e.begin||a.insertMode||(h=!1,d==a.keyCode.BACKSPACE&&e.begin--);F(g(),e.begin,e.end);var k=t();if(!1==a.greedy)B(e.begin,k,void 0,!D&&d==a.keyCode.BACKSPACE&&!h);else{for(var f=e.begin,l=e.begin;l<e.end;l++)if(p(l)||!h)f=B(e.begin,k,void 0,!D&&d==a.keyCode.BACKSPACE&&!h);h||(e.begin=f)}d=q(-1);C(b,!1,!0,g());c().lastValidPosition<d?(c().lastValidPosition=
  36. -1,c().p=d):c().p=e.begin}function P(d){W=!1;var e=this,k=b(e),f=d.keyCode,l=u(e);f==a.keyCode.BACKSPACE||f==a.keyCode.DELETE||da&&127==f||d.ctrlKey&&88==f?(d.preventDefault(),J(e,f,l),h(),M(e,g(),c().p),e._valueGet()==n().join("")&&k.trigger("cleared"),a.showTooltip&&k.prop("title",c().mask)):f==a.keyCode.END||f==a.keyCode.PAGE_DOWN?setTimeout(function(){var b=q(c().lastValidPosition);a.insertMode||b!=t()||d.shiftKey||b--;u(e,d.shiftKey?l.begin:b,b)},0):f==a.keyCode.HOME&&!d.shiftKey||f==a.keyCode.PAGE_UP?
  37. u(e,0,d.shiftKey?l.begin:0):f==a.keyCode.ESCAPE?(C(e,!0,!0,S),k.click()):f!=a.keyCode.INSERT||d.shiftKey||d.ctrlKey?!1!=a.insertMode||d.shiftKey||(f==a.keyCode.RIGHT?setTimeout(function(){var a=u(e);u(e,a.begin)},0):f==a.keyCode.LEFT&&setTimeout(function(){var a=u(e);u(e,a.begin-1)},0)):(a.insertMode=!a.insertMode,u(e,a.insertMode||l.begin!=t()?l.begin:l.begin-1));k=u(e);!0===a.onKeyDown.call(this,d,g(),a)&&u(e,k.begin,k.end);Z=-1!=b.inArray(f,a.ignorables)}function U(f,l,s,m,n,p){if(void 0==s&&W)return!1;
  38. W=!0;var r=b(this);f=f||window.event;s=s||f.which||f.charCode||f.keyCode;if((!f.ctrlKey||!f.altKey)&&(f.ctrlKey||f.metaKey||Z)&&!0!==l)return!0;if(s){!0!==l&&46==s&&!1==f.shiftKey&&","==a.radixPoint&&(s=44);var y,v,x=String.fromCharCode(s);l?(s=n?p:c().lastValidPosition+1,y={begin:s,end:s}):y=u(this);p=D?1<y.begin-y.end||1==y.begin-y.end&&a.insertMode:1<y.end-y.begin||1==y.end-y.begin&&a.insertMode;var B=e;p&&(e=B,J(this,a.keyCode.DELETE,y),a.insertMode||b.each(d,function(a,b){"object"==typeof b&&
  39. (e=a,H(y.begin,t(),N(y.begin),!0),c().lastValidPosition=q(c().lastValidPosition))}),e=B);var C=g().join("").indexOf(a.radixPoint);a.isNumeric&&!0!==l&&-1!=C&&(a.greedy&&y.begin<=C?(y.begin=z(y.begin),y.end=y.begin):x==a.radixPoint&&(y.begin=C,y.end=y.begin));var E=y.begin;s=k(E,x,n);!0===n&&(s=[{activeMasksetIndex:e,result:s}]);var w=-1;b.each(s,function(b,d){e=d.activeMasksetIndex;c().writeOutBuffer=!0;var f=d.result;if(!1!==f){var h=!1,k=g();!0!==f&&(h=f.refresh,E=void 0!=f.pos?f.pos:E,x=void 0!=
  40. f.c?f.c:x);if(!0!==h){if(!0==a.insertMode){f=t();for(h=k.slice();L(h,f,!0)!=N(f)&&f>=E;)f=0==f?-1:z(f);f>=E?(H(E,k.length,x),k=c().lastValidPosition,f=q(k),f!=t()&&k>=E&&L(g(),f,!0)!=N(f)&&(c().lastValidPosition=f)):c().writeOutBuffer=!1}else A(k,E,x,!0);if(-1==w||w>q(E))w=q(E)}else!n&&(k=E<t()?E+1:E,-1==w||w>k)&&(w=k);w>c().p&&(c().p=w)}});!0!==n&&(e=B,h());if(!1!==m&&(b.each(s,function(a,b){if(b.activeMasksetIndex==e)return v=b,!1}),void 0!=v)){var F=this;setTimeout(function(){a.onKeyValidation.call(F,
  41. v.result,a)},0);if(c().writeOutBuffer&&!1!==v.result){var G=g();m=l?void 0:a.numericInput?E>C?z(w):x==a.radixPoint?w-1:z(w-1):w;M(this,G,m);!0!==l&&setTimeout(function(){V(G)&&r.trigger("complete")},0)}else p&&(c().buffer=c().undoBuffer.split(""))}a.showTooltip&&r.prop("title",c().mask);f.preventDefault()}}function ca(c){var d=b(this),e=c.keyCode,f=g();a.onKeyUp.call(this,c,f,a);e==a.keyCode.TAB&&a.showMaskOnFocus&&(d.hasClass("focus.inputmask")&&0==this._valueGet().length?(f=n().slice(),M(this,f),
  42. u(this,0),S=g().join("")):(M(this,f),u(this,0,t())))}v=b(l);if(v.is(":input")){v.data("_inputmask",{masksets:d,activeMasksetIndex:e,opts:a,isRTL:!1});a.showTooltip&&v.prop("title",c().mask);c().greedy=c().greedy?c().greedy:0==c().repeat;if(null!=v.attr("maxLength")){var R=v.prop("maxLength");-1<R&&b.each(d,function(a,b){"object"==typeof b&&"*"==b.repeat&&(b.repeat=R)});t()>R&&-1<R&&(R<n().length&&(n().length=R),!1==c().greedy&&(c().repeat=Math.round(R/n().length)),v.prop("maxLength",2*t()))}x(l);
  43. var W=!1,Z=!1;a.numericInput&&(a.isNumeric=a.numericInput);("rtl"==l.dir||a.numericInput&&a.rightAlignNumerics||a.isNumeric&&a.rightAlignNumerics)&&v.css("text-align","right");if("rtl"==l.dir||a.numericInput){l.dir="ltr";v.removeAttr("dir");var $=v.data("_inputmask");$.isRTL=!0;v.data("_inputmask",$);D=!0}v.unbind(".inputmask");v.removeClass("focus.inputmask");v.closest("form").bind("submit",function(){S!=g().join("")&&v.change()}).bind("reset",function(){b.each(d,function(a,b){"object"==typeof b&&
  44. (b.buffer=b._buffer.slice(),b.lastValidPosition=-1)})});v.bind("mouseenter.inputmask",function(){!b(this).hasClass("focus.inputmask")&&a.showMaskOnHover&&this._valueGet()!=g().join("")&&M(this,g())}).bind("blur.inputmask",function(){var c=b(this),f=this._valueGet(),h=g();c.removeClass("focus.inputmask");S!=g().join("")&&c.change();a.clearMaskOnLostFocus&&""!=f&&(f==n().join("")?this._valueSet(""):O(this));V(h)||(c.trigger("incomplete"),a.clearIncomplete&&(b.each(d,function(a,b){"object"==typeof b&&
  45. (b.buffer=b._buffer.slice(),b.lastValidPosition=-1)}),e=0,a.clearMaskOnLostFocus?this._valueSet(""):(h=n().slice(),M(this,h))))}).bind("focus.inputmask",function(){var d=b(this),e=this._valueGet();a.showMaskOnFocus&&!d.hasClass("focus.inputmask")&&(!a.showMaskOnHover||a.showMaskOnHover&&""==e)&&this._valueGet()!=g().join("")&&M(this,g(),q(c().lastValidPosition));d.addClass("focus.inputmask");S=g().join("")}).bind("mouseleave.inputmask",function(){var c=b(this);a.clearMaskOnLostFocus&&(c.hasClass("focus.inputmask")||
  46. this._valueGet()==c.attr("placeholder")||(this._valueGet()==n().join("")||""==this._valueGet()?this._valueSet(""):O(this)))}).bind("click.inputmask",function(){var d=this;setTimeout(function(){var e=u(d),f=g();if(e.begin==e.end){var e=a.isRTL?T(e.begin):e.begin,h=c().lastValidPosition,f=a.isNumeric?!1===a.skipRadixDance&&""!=a.radixPoint&&-1!=b.inArray(a.radixPoint,f)?a.numericInput?q(b.inArray(a.radixPoint,f)):b.inArray(a.radixPoint,f):q(h):q(h);e<f?p(e)?u(d,e):u(d,q(e)):u(d,f)}},0)}).bind("dblclick.inputmask",
  47. function(){var a=this;setTimeout(function(){u(a,0,q(c().lastValidPosition))},0)}).bind("keydown.inputmask",P).bind("keypress.inputmask",U).bind("keyup.inputmask",ca).bind(ea+".inputmask dragdrop.inputmask drop.inputmask",function(a){var c=this,d=b(c);if("propertychange"==a.type&&c._valueGet().length<=t())return!0;setTimeout(function(){C(c,!0,!1);V(g())&&d.trigger("complete");d.click()},0)}).bind("setvalue.inputmask",function(){C(this,!0);S=g().join("");this._valueGet()==n().join("")&&this._valueSet("")}).bind("_keypress.inputmask",
  48. U).bind("complete.inputmask",a.oncomplete).bind("incomplete.inputmask",a.onincomplete).bind("cleared.inputmask",a.oncleared);C(l,!0,!1);S=g().join("");var aa;try{aa=document.activeElement}catch(fa){}aa===l?(v.addClass("focus.inputmask"),u(l,q(c().lastValidPosition))):a.clearMaskOnLostFocus?g().join("")==n().join("")?l._valueSet(""):O(l):M(l,g());r(l)}};return this}var a=b.extend(!0,{},b.inputmask.defaults,C),A=null!==navigator.userAgent.match(/msie 10/i),da=null!==navigator.userAgent.match(/iphone/i),
  49. U=null!==navigator.userAgent.match(/android.*safari.*/i),ea=J("paste")&&!A?"paste":J("input")?"input":"propertychange",k,z=0;U&&(A=navigator.userAgent.match(/safari.*/i),parseInt(RegExp(/[0-9]+/).exec(A)));if("string"===typeof F)switch(F){case "mask":return w(a.alias,C),k=P(),this.each(function(){G(b.extend(!0,{},k),0).mask(this)});case "unmaskedvalue":return A=b(this),A.data("_inputmask")?(k=A.data("_inputmask").masksets,z=A.data("_inputmask").activeMasksetIndex,a=A.data("_inputmask").opts,G(k,z).unmaskedvalue(A)):
  50. A.val();case "remove":return this.each(function(){var d=b(this);if(d.data("_inputmask")){k=d.data("_inputmask").masksets;z=d.data("_inputmask").activeMasksetIndex;a=d.data("_inputmask").opts;this._valueSet(G(k,z).unmaskedvalue(d,!0));d.removeData("_inputmask");d.unbind(".inputmask");d.removeClass("focus.inputmask");var e;Object.getOwnPropertyDescriptor&&(e=Object.getOwnPropertyDescriptor(this,"value"));e&&e.get?this._valueGet&&Object.defineProperty(this,"value",{get:this._valueGet,set:this._valueSet}):
  51. document.__lookupGetter__&&this.__lookupGetter__("value")&&this._valueGet&&(this.__defineGetter__("value",this._valueGet),this.__defineSetter__("value",this._valueSet));try{delete this._valueGet,delete this._valueSet}catch(c){this._valueSet=this._valueGet=void 0}}});case "getemptymask":return this.data("_inputmask")?(k=this.data("_inputmask").masksets,z=this.data("_inputmask").activeMasksetIndex,k[z]._buffer.join("")):"";case "hasMaskedValue":return this.data("_inputmask")?!this.data("_inputmask").opts.autoUnmask:
  52. !1;case "isComplete":return k=this.data("_inputmask").masksets,z=this.data("_inputmask").activeMasksetIndex,a=this.data("_inputmask").opts,G(k,z).isComplete(this[0]._valueGet().split(""));case "getmetadata":if(this.data("_inputmask"))return k=this.data("_inputmask").masksets,z=this.data("_inputmask").activeMasksetIndex,k[z].metadata;return;default:return w(F,C)||(a.mask=F),k=P(),this.each(function(){G(b.extend(!0,{},k),z).mask(this)})}else{if("object"==typeof F)return a=b.extend(!0,{},b.inputmask.defaults,
  53. F),w(a.alias,F),k=P(),this.each(function(){G(b.extend(!0,{},k),z).mask(this)});if(void 0==F)return this.each(function(){var d=b(this).attr("data-inputmask");if(d&&""!=d)try{var d=d.replace(RegExp("'","g"),'"'),e=b.parseJSON("{"+d+"}");b.extend(!0,e,C);a=b.extend(!0,{},b.inputmask.defaults,e);w(a.alias,e);a.alias=void 0;b(this).inputmask(a)}catch(c){}})}return this})})(jQuery);