jquery.inputmask.js 23 KB

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