jquery.inputmask.js 22 KB

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