jquery.inputmask.js 25 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. /*
  2. Input Mask plugin for jquery
  3. http://github.com/RobinHerbots/jquery.inputmask
  4. Copyright (c) 2010 - 2014 Robin Herbots
  5. Licensed under the MIT license (http://www.opensource.org/licenses/mit-license.php)
  6. Version: 3.0.31
  7. */
  8. (function(e){if(void 0===e.fn.inputmask){var T=function(b){var e=document.createElement("input");b="on"+b;var c=b in e;c||(e.setAttribute(b,"return;"),c="function"==typeof e[b]);return c},B=function(b,d,c){return(b=c.aliases[b])?(b.alias&&B(b.alias,void 0,c),e.extend(!0,c,b),e.extend(!0,c,d),!0):!1},G=function(b){function d(c){function e(c,b,d,m){this.matches=[];this.isGroup=c||!1;this.isOptional=b||!1;this.isQuantifier=d||!1;this.isAlternator=m||!1;this.quantifier={min:1,max:1}}function d(c,e,m){var g=
  9. b.definitions[e],U=0==c.matches.length;m=void 0!=m?m:c.matches.length;if(g&&!s){for(var n=g.prevalidator,p=n?n.length:0,v=1;v<g.cardinality;v++){var x=p>=v?n[v-1]:[],q=x.validator,x=x.cardinality;c.matches.splice(m++,0,{fn:q?"string"==typeof q?RegExp(q):new function(){this.test=q}:/./,cardinality:x?x:1,optionality:c.isOptional,newBlockMarker:U,casing:g.casing,def:g.definitionSymbol||e})}c.matches.splice(m++,0,{fn:g.validator?"string"==typeof g.validator?RegExp(g.validator):new function(){this.test=
  10. g.validator}:/./,cardinality:g.cardinality,optionality:c.isOptional,newBlockMarker:U,casing:g.casing,def:g.definitionSymbol||e})}else c.matches.splice(m++,0,{fn:null,cardinality:0,optionality:c.isOptional,newBlockMarker:U,casing:null,def:e}),s=!1}for(var q=/(?:[?*+]|\{[0-9\+\*]+(?:,[0-9\+\*]*)?\})\??|[^.?*+^${[]()|\\]+|./g,s=!1,x=new e,n,p=[],m=[];n=q.exec(c);)switch(n=n[0],n.charAt(0)){case b.optionalmarker.end:case b.groupmarker.end:var t=p.pop();0<p.length?p[p.length-1].matches.push(t):x.matches.push(t);
  11. break;case b.optionalmarker.start:p.push(new e(!1,!0));break;case b.groupmarker.start:p.push(new e(!0));break;case b.quantifiermarker.start:t=new e(!1,!1,!0);n=n.replace(/[{}]/g,"");var u=n.split(",");n=isNaN(u[0])?u[0]:parseInt(u[0]);u=1==u.length?n:isNaN(u[1])?u[1]:parseInt(u[1]);if("*"==u||"+"==u)n="*"==u?0:1;t.quantifier={min:n,max:u};if(0<p.length){u=p[p.length-1].matches;n=u.pop();if(!n.isGroup){var F=new e(!0);F.matches.push(n);n=F}u.push(n);u.push(t)}else n=x.matches.pop(),n.isGroup||(F=new e(!0),
  12. F.matches.push(n),n=F),x.matches.push(n),x.matches.push(t);break;case b.escapeChar:s=!0;break;case b.alternatormarker:break;default:0<p.length?d(p[p.length-1],n):(0<x.matches.length&&(t=x.matches[x.matches.length-1],t.isGroup&&(t.isGroup=!1,d(t,b.groupmarker.start,0),d(t,b.groupmarker.end))),d(x,n))}0<x.matches.length&&m.push(x);return m}function c(c,v){if(b.numericInput&&!0!==b.multi){c=c.split("").reverse();for(var g=0;g<c.length;g++)c[g]==b.optionalmarker.start?c[g]=b.optionalmarker.end:c[g]==
  13. b.optionalmarker.end?c[g]=b.optionalmarker.start:c[g]==b.groupmarker.start?c[g]=b.groupmarker.end:c[g]==b.groupmarker.end&&(c[g]=b.groupmarker.start);c=c.join("")}if(void 0!=c&&""!=c){if(0<b.repeat||"*"==b.repeat||"+"==b.repeat)c=b.groupmarker.start+c+b.groupmarker.end+b.quantifiermarker.start+("*"==b.repeat?0:"+"==b.repeat?1:b.repeat)+","+b.repeat+b.quantifiermarker.end;void 0==e.inputmask.masksCache[c]&&(e.inputmask.masksCache[c]={mask:c,maskToken:d(c),validPositions:{},_buffer:void 0,buffer:void 0,
  14. tests:{},metadata:v});return e.extend(!0,{},e.inputmask.masksCache[c])}}var q=[];e.isFunction(b.mask)&&(b.mask=b.mask.call(this,b));e.isArray(b.mask)?e.each(b.mask,function(e,b){void 0!=b.mask?q.push(c(b.mask.toString(),b)):q.push(c(b.toString()))}):(1==b.mask.length&&!1==b.greedy&&0!=b.repeat&&(b.placeholder=""),q=void 0!=b.mask.mask?c(b.mask.mask.toString(),b.mask):c(b.mask.toString()));return q},da="function"===typeof ScriptEngineMajorVersion?ScriptEngineMajorVersion():10<=(new Function("/*@cc_on return @_jscript_version; @*/"))(),
  15. s=navigator.userAgent,ea=null!==s.match(/iphone/i),fa=null!==s.match(/android.*safari.*/i),ga=null!==s.match(/android.*chrome.*/i),ha=null!==s.match(/android.*firefox.*/i),ia=/Kindle/i.test(s)||/Silk/i.test(s)||/KFTT/i.test(s)||/KFOT/i.test(s)||/KFJWA/i.test(s)||/KFJWI/i.test(s)||/KFSOWI/i.test(s)||/KFTHWA/i.test(s)||/KFTHWI/i.test(s)||/KFAPWA/i.test(s)||/KFAPWI/i.test(s),W=T("paste")?"paste":T("input")?"input":"propertychange",O=function(b,d,c){function q(a,f,r){f=f||0;var y=[],e,k=0,b;do{if(!0===
  16. a&&d.validPositions[k]){var m=d.validPositions[k];b=m.match;e=m.locator.slice();y.push(null==b.fn?b.def:!0===r?m.input:c.placeholder.charAt(k%c.placeholder.length))}else e=f>k?n(k,e,k-1)[0]:C(k,e,k-1),b=e.match,e=e.locator.slice(),y.push(null==b.fn?b.def:c.placeholder.charAt(k%c.placeholder.length));k++}while((void 0==I||k-1<I)&&null!=b.fn||null==b.fn&&""!=b.def||f>=k);y.pop();return y}function s(a){var f=d;f.buffer=void 0;f.tests={};!0!==a&&(f._buffer=void 0,f.validPositions={},f.p=-1)}function v(a){var f=
  17. d,r=-1,b=f.validPositions;if(e.isFunction(c.getLastValidPosition))r=c.getLastValidPosition.call(h,f,a,c);else{void 0==a&&(a=-1);var f=r,l;for(l in b){var k=parseInt(l);if(-1==a||null!=b[k].match.fn)k<a&&(f=k),k>=a&&(r=k)}r=1<a-f||r<a?f:r}return r}function g(a,f,r){if(c.insertMode&&void 0!=d.validPositions[a]&&void 0==r){r=e.extend(!0,{},d.validPositions);var b=v(),l;for(l=a;l<=b;l++)delete d.validPositions[l];d.validPositions[a]=f;f=!0;for(l=a;l<=b;l++){a=r[l];if(void 0!=a){var k=null==a.match.fn?
  18. l+1:D(l);f=x(k,a.match.def)?f&&!1!==F(k,a.input,!0,!0):!1}if(!f)break}if(!f)return d.validPositions=e.extend(!0,{},r),!1}else d.validPositions[a]=f;return!0}function C(a,f,r){a=n(a,f,r);var b;for(f=0;f<a.length&&(b=a[f],!c.greedy&&(!b.match||!1!==b.match.optionality&&!1!==b.match.newBlockMarker||!0===b.match.optionalQuantifier));f++);return b}function P(a){return d.validPositions[a]?d.validPositions[a].match:n(a)[0].match}function x(a,f){for(var c=!1,b=n(a),e=0;e<b.length;e++)if(b[e].match&&b[e].match.def==
  19. f){c=!0;break}return c}function n(a,f,r){function b(f,r,d,l){function g(d,l,n){if(k==a&&void 0==d.matches)return w.push({match:d,locator:l.reverse()}),!0;if(void 0!=d.matches)if(d.isGroup&&!0!==n){if(d=g(f.matches[h+1],l))return!0}else if(d.isOptional){var J=d;if(d=b(d,r,l,n))d=w[w.length-1].match,(d=0==e.inArray(d,J.matches))&&(m=!0),k=a}else{if(!d.isAlternator)if(d.isQuantifier&&!0!==n)for(J=d,c.greedy=c.greedy&&!isNaN(J.quantifier.max),n=0<r.length&&!0!==n?r.shift():0;n<(isNaN(J.quantifier.max)?
  20. n+1:J.quantifier.max)&&k<=a;n++){var p=f.matches[e.inArray(J,f.matches)-1];if(d=g(p,[n].concat(l),!0))if(d=w[w.length-1].match,d.optionalQuantifier=n>J.quantifier.min-1,d=0==e.inArray(d,p.matches))if(n>J.quantifier.min-1){m=!0;k=a;break}else return!0;else return!0}else if(d=b(d,r,l,n))return!0}else k++}for(var h=0<r.length?r.shift():0;h<f.matches.length;h++)if(!0!==f.matches[h].isQuantifier){var n=g(f.matches[h],[h].concat(d),l);if(n&&k==a)return n;if(k>a)break}}var l=d.maskToken,k=f?r:0;r=f||[0];
  21. var w=[],m=!1;if(void 0==f){f=a-1;for(var g;void 0==(g=d.validPositions[f])&&-1<f;)f--;if(void 0!=g&&-1<f)k=f,r=g.locator.slice();else{for(f=a-1;void 0==(g=d.tests[f])&&-1<f;)f--;void 0!=g&&-1<f&&(k=f,r=g[0].locator.slice())}}for(f=r.shift();f<l.length&&!(b(l[f],r,[f])&&k==a||k>a);f++);(0==w.length||m)&&w.push({match:{fn:null,cardinality:0,optionality:!0,casing:null,def:""},locator:[]});return d.tests[a]=w}function p(){void 0==d._buffer&&(d._buffer=q(!1,1));return d._buffer}function m(){void 0==d.buffer&&
  22. (d.buffer=q(!0,v(),!0));return d.buffer}function t(a,f){for(var r=m().slice(),b=a;b<f;b++)r[b]!=Q(b)&&r[b]!=c.skipOptionalPartCharacter&&F(b,r[b],!0,!0)}function u(a,f){switch(f.casing){case "upper":a=a.toUpperCase();break;case "lower":a=a.toLowerCase()}return a}function F(a,f,b,y){function l(a,f,b,r){var k=!1;e.each(n(a),function(y,l){for(var w=l.match,h=f?1:0,p="",x=m(),q=w.cardinality;q>h;q--)p+=void 0==d.validPositions[a-(q-1)]?Q(a-(q-1)):d.validPositions[a-(q-1)].input;f&&(p+=f);k=null!=w.fn?
  23. w.fn.test(p,x,a,b,c):f!=w.def&&f!=c.skipOptionalPartCharacter||""==w.def?!1:{c:w.def,pos:a};if(!1!==k){h=void 0!=k.c?k.c:f;h=h==c.skipOptionalPartCharacter&&null===w.fn?w.def:h;p=a;if(k.refreshFromBuffer){p=k.refreshFromBuffer;b=!0;!0===p?(d.validPositions={},d.tests={},t(0,m().length)):t(p.start,p.end);if(void 0==k.pos&&void 0==k.c)return k.pos=v(),!1;p=void 0!=k.pos?k.pos:a;l=n(p)[0]}else!0!==k&&k.pos!=a&&(p=k.pos,t(a,p),l=n(p)[0]);0<y&&s(!0);g(p,e.extend({},l,{input:u(h,w)}),r)||(k=!1);return!1}});
  24. return k}b=!0===b;var k=l(a,f,b,y);if(!b&&!1===k){var w=d.validPositions[a];if(w&&null==w.match.fn&&(w.match.def==f||f==c.skipOptionalPartCharacter))k={caret:D(a)};else if((c.insertMode||void 0==d.validPositions[D(a)])&&!B(a))for(var w=a+1,h=D(a);w<=h;w++)if(k=l(w,f,b,y),!1!==k){a=w;break}}!0===k&&(k={pos:a});return k}function B(a){a=P(a);return null!=a.fn?a.fn:!1}function M(){var a;I=h.prop("maxLength");-1==I&&(I=void 0);if(!1==c.greedy){var f;f=v();a=d.validPositions[f];var b=void 0!=a?a.locator.slice():
  25. void 0;for(f+=1;void 0==a||null!=a.match.fn||null==a.match.fn&&""!=a.match.def;f++)a=C(f,b,f-1),b=a.locator.slice();a=f}else a=m().length;return void 0==I||a<I?a:I}function D(a){var f=M();if(a>=f)return f;for(;++a<f&&!B(a)&&(!0!==c.nojumps||c.nojumpsThreshold>a););return a}function G(a){if(0>=a)return 0;for(;0<--a&&!B(a););return a}function E(a,f,c){a._valueSet(f.join(""));void 0!=c&&z(a,c)}function Q(a,f){f=f||P(a);return null==f.fn?f.def:c.placeholder.charAt(a%c.placeholder.length)}function N(a,
  26. f,c,b,l){b=void 0!=b?b.slice():T(a._valueGet()).split("");s();f&&a._valueSet("");e.each(b,function(f,b){if(!0===l){var y=d.p,y=-1==y?y:G(y),g=-1==y?f:D(y);-1==e.inArray(b,p().slice(y+1,g))&&X.call(a,void 0,!0,b.charCodeAt(0),!1,c,f)}else X.call(a,void 0,!0,b.charCodeAt(0),!1,c,f),c=c||0<f&&f>d.p});f&&E(a,m(),e(a).is(":focus")?D(v(0)):void 0)}function O(a){return e.inputmask.escapeRegex.call(this,a)}function T(a){return a.replace(RegExp("("+O(p().join(""))+")*$"),"")}function V(a){var f=m().slice(),
  27. c,b=v(),e={},k=void 0!=d.validPositions[b]?d.validPositions[b].locator.slice():void 0,g;for(c=b+1;c<f.length;c++)g=C(c,k,c-1),k=g.locator.slice(),e[c]=g;for(c=f.length-1;c>b;c--)if(g=e[c].match,g.optionality&&f[c]==Q(c,g))f.pop();else break;E(a,f)}function Z(a,f){if(!a.data("_inputmask")||!0!==f&&a.hasClass("hasDatepicker"))return a[0]._valueGet();var b=[],y=d.validPositions,l;for(l in y)y[l].match&&null!=y[l].match.fn&&b.push(y[l].input);b=(A?b.reverse():b).join("");y=(A?m().reverse():m()).join("");
  28. return e.isFunction(c.onUnMask)?c.onUnMask.call(a,y,b,c):b}function L(a){!A||"number"!=typeof a||c.greedy&&""==c.placeholder||(a=m().length-a);return a}function z(a,f,b){a=a.jquery&&0<a.length?a[0]:a;if("number"==typeof f){f=L(f);b=L(b);b="number"==typeof b?b:f;var d=e(a).data("_inputmask")||{};d.caret={begin:f,end:b};e(a).data("_inputmask",d);e(a).is(":visible")&&(a.scrollLeft=a.scrollWidth,!1==c.insertMode&&f==b&&b++,a.setSelectionRange?(a.selectionStart=f,a.selectionEnd=b):a.createTextRange&&(a=
  29. a.createTextRange(),a.collapse(!0),a.moveEnd("character",b),a.moveStart("character",f),a.select()))}else return d=e(a).data("_inputmask"),!e(a).is(":visible")&&d&&void 0!=d.caret?(f=d.caret.begin,b=d.caret.end):a.setSelectionRange?(f=a.selectionStart,b=a.selectionEnd):document.selection&&document.selection.createRange&&(a=document.selection.createRange(),f=0-a.duplicate().moveStart("character",-1E5),b=f+a.text.length),f=L(f),b=L(b),{begin:f,end:b}}function R(a){if(e.isFunction(c.isComplete))return c.isComplete.call(h,
  30. a,c);if("*"!=c.repeat){var f=!1,b=G(M());if(v()==b)for(var f=!0,d=0;d<=b;d++){var l=B(d);if(l&&(void 0==a[d]||a[d]==Q(d))||!l&&a[d]!=Q(d)){f=!1;break}}return f}}function ja(a){a=e._data(a).events;e.each(a,function(a,b){e.each(b,function(a,b){if("inputmask"==b.namespace&&"setvalue"!=b.type){var c=b.handler;b.handler=function(a){if(this.readOnly||this.disabled)a.preventDefault;else return c.apply(this,arguments)}}})})}function ka(a){function b(a){if(void 0==e.valHooks[a]||!0!=e.valHooks[a].inputmaskpatch){var c=
  31. e.valHooks[a]&&e.valHooks[a].get?e.valHooks[a].get:function(a){return a.value},f=e.valHooks[a]&&e.valHooks[a].set?e.valHooks[a].set:function(a,c){a.value=c;return a};e.valHooks[a]={get:function(a){var b=e(a);if(b.data("_inputmask")){if(b.data("_inputmask").opts.autoUnmask)return b.inputmask("unmaskedvalue");a=c(a);b=(b=b.data("_inputmask").maskset._buffer)?b.join(""):"";return a!=b?a:""}return c(a)},set:function(a,b){var c=e(a),d=f(a,b);c.data("_inputmask")&&c.triggerHandler("setvalue.inputmask");
  32. return d},inputmaskpatch:!0}}}var c;Object.getOwnPropertyDescriptor&&(c=Object.getOwnPropertyDescriptor(a,"value"));if(c&&c.get){if(!a._valueGet){var d=c.get,l=c.set;a._valueGet=function(){return A?d.call(this).split("").reverse().join(""):d.call(this)};a._valueSet=function(a){l.call(this,A?a.split("").reverse().join(""):a)};Object.defineProperty(a,"value",{get:function(){var a=e(this),b=e(this).data("_inputmask");return b?b.opts.autoUnmask?a.inputmask("unmaskedvalue"):d.call(this)!=p().join("")?
  33. d.call(this):"":d.call(this)},set:function(a){l.call(this,a);e(this).triggerHandler("setvalue.inputmask")}})}}else document.__lookupGetter__&&a.__lookupGetter__("value")?a._valueGet||(d=a.__lookupGetter__("value"),l=a.__lookupSetter__("value"),a._valueGet=function(){return A?d.call(this).split("").reverse().join(""):d.call(this)},a._valueSet=function(a){l.call(this,A?a.split("").reverse().join(""):a)},a.__defineGetter__("value",function(){var a=e(this),b=e(this).data("_inputmask");return b?b.opts.autoUnmask?
  34. a.inputmask("unmaskedvalue"):d.call(this)!=p().join("")?d.call(this):"":d.call(this)}),a.__defineSetter__("value",function(a){l.call(this,a);e(this).triggerHandler("setvalue.inputmask")})):(a._valueGet||(a._valueGet=function(){return A?this.value.split("").reverse().join(""):this.value},a._valueSet=function(a){this.value=A?a.split("").reverse().join(""):a}),b(a.type))}function $(a,b,e){if(c.numericInput||A){switch(b){case c.keyCode.BACKSPACE:b=c.keyCode.DELETE;break;case c.keyCode.DELETE:b=c.keyCode.BACKSPACE}A&&
  35. (a=e.end,e.end=e.begin,e.begin=a)}e.begin==e.end?b==c.keyCode.BACKSPACE?e.begin=G(e.begin):b==c.keyCode.DELETE&&e.end++:1!=e.end-e.begin||c.insertMode||b==c.keyCode.BACKSPACE&&e.begin--;a=e.begin;var g=e.end;for(b=a;a<g;a++)delete d.validPositions[a];for(a=g;a<=v();){var g=d.validPositions[a],l=d.validPositions[b];void 0!=g&&void 0==l?(x(b,g.match.def)&&!1!==F(b,g.input,!0)&&(delete d.validPositions[a],a++),b++):a++}for(b=v();0<b&&(void 0==d.validPositions[b]||null==d.validPositions[b].match.fn);)delete d.validPositions[b],
  36. b--;s(!0);b=D(-1);v()<b?d.p=b:d.p=e.begin}function aa(a){Y=!1;var b=this,g=e(b),h=a.keyCode,l=z(b);h==c.keyCode.BACKSPACE||h==c.keyCode.DELETE||ea&&127==h||a.ctrlKey&&88==h?(a.preventDefault(),88==h&&(H=m().join("")),$(b,h,l),E(b,m(),d.p),b._valueGet()==p().join("")&&g.trigger("cleared"),c.showTooltip&&g.prop("title",d.mask)):h==c.keyCode.END||h==c.keyCode.PAGE_DOWN?setTimeout(function(){var d=D(v());c.insertMode||d!=M()||a.shiftKey||d--;z(b,a.shiftKey?l.begin:d,d)},0):h==c.keyCode.HOME&&!a.shiftKey||
  37. h==c.keyCode.PAGE_UP?z(b,0,a.shiftKey?l.begin:0):h==c.keyCode.ESCAPE||90==h&&a.ctrlKey?(N(b,!0,!1,H.split("")),g.click()):h!=c.keyCode.INSERT||a.shiftKey||a.ctrlKey?!1!=c.insertMode||a.shiftKey||(h==c.keyCode.RIGHT?setTimeout(function(){var a=z(b);z(b,a.begin)},0):h==c.keyCode.LEFT&&setTimeout(function(){var a=z(b);z(b,a.begin-1)},0)):(c.insertMode=!c.insertMode,z(b,c.insertMode||l.begin!=M()?l.begin:l.begin-1));var g=z(b),k=c.onKeyDown.call(this,a,m(),c);k&&!0===k.refreshFromBuffer&&(d.validPositions=
  38. {},d.tests={},t(0,m().length),s(!0),E(b,m()),z(b,g.begin,g.end));ba=-1!=e.inArray(h,c.ignorables)}function X(a,b,h,n,l,k){if(void 0==h&&Y)return!1;Y=!0;var p=e(this);a=a||window.event;h=b?h:a.which||a.charCode||a.keyCode;if(!(!0===b||a.ctrlKey&&a.altKey)&&(a.ctrlKey||a.metaKey||ba))return!0;if(h){!0!==b&&46==h&&!1==a.shiftKey&&","==c.radixPoint&&(h=44);var q;h=String.fromCharCode(h);b?(k=l?k:v()+1,k={begin:k,end:k}):k=z(this);var x=A?1<k.begin-k.end||1==k.begin-k.end&&c.insertMode:1<k.end-k.begin||
  39. 1==k.end-k.begin&&c.insertMode;x&&(d.undoPositions=e.extend(!0,{},d.validPositions),$(this,c.keyCode.DELETE,k),c.insertMode||(c.insertMode=!c.insertMode,g(k.begin,l),c.insertMode=!c.insertMode),x=!c.multi);d.writeOutBuffer=!0;var u=k.begin,t=F(u,h,l);!1!==t&&(!0!==t&&(u=void 0!=t.pos?t.pos:u,h=void 0!=t.c?t.c:h),s(!0),void 0!=t.caret?q=t.caret:(l=d.validPositions,q=void 0!=l[u+1]&&C(k+1,l[u].locator.slice(),u).match.def!=l[u+1].match.def?u+1:D(u)),d.p=q);if(!1!==n){var B=this;setTimeout(function(){c.onKeyValidation.call(B,
  40. t,c)},0);if(d.writeOutBuffer&&!1!==t){var P=m();E(this,P,b?void 0:c.numericInput?G(q):q);!0!==b&&setTimeout(function(){!0===R(P)&&p.trigger("complete");S=!0;p.trigger("input")},0)}else x&&(d.buffer=void 0,d.validPositions=d.undoPositions)}else x&&(d.buffer=void 0,d.validPositions=d.undoPositions);c.showTooltip&&p.prop("title",d.mask);a&&!0!=b&&(a.preventDefault?a.preventDefault():a.returnValue=!1)}}function la(a){var b=e(this),h=a.keyCode,g=m();(a=c.onKeyUp.call(this,a,g,c))&&!0===a.refreshFromBuffer&&
  41. (d.validPositions={},d.tests={},t(0,m().length),s(!0),E(this,m()));h==c.keyCode.TAB&&c.showMaskOnFocus&&(b.hasClass("focus.inputmask")&&0==this._valueGet().length?(s(),g=m(),E(this,g),z(this,0),H=m().join("")):(E(this,g),z(this,L(0),L(M()))))}function ca(a){if(!0===S&&"input"==a.type)return S=!1,!0;var b=this,d=e(b);if("propertychange"==a.type&&b._valueGet().length<=M())return!0;setTimeout(function(){var a=e.isFunction(c.onBeforePaste)?c.onBeforePaste.call(b,b._valueGet(),c):b._valueGet();N(b,!0,
  42. !1,a.split(""),!0);!0===R(m())&&d.trigger("complete");d.click()},0)}function ma(a){if(!0===S&&"input"==a.type)return S=!1,!0;var b=z(this),d=this._valueGet(),d=d.replace(RegExp("("+O(p().join(""))+")*"),"");b.begin>d.length&&(z(this,d.length),b=z(this));1!=m().length-d.length||d.charAt(b.begin)==m()[b.begin]||d.charAt(b.begin+1)==m()[b.begin]||B(b.begin)||(a.keyCode=c.keyCode.BACKSPACE,aa.call(this,a));a.preventDefault()}function na(a){h=e(a);if(h.is(":input")){h.data("_inputmask",{maskset:d,opts:c,
  43. isRTL:!1});c.showTooltip&&h.prop("title",d.mask);ka(a);("rtl"==a.dir||c.rightAlign)&&h.css("text-align","right");if("rtl"==a.dir||c.numericInput){a.dir="ltr";h.removeAttr("dir");var b=h.data("_inputmask");b.isRTL=!0;h.data("_inputmask",b);A=!0}h.unbind(".inputmask");h.removeClass("focus.inputmask");h.closest("form").bind("submit",function(){H!=m().join("")&&h.change()}).bind("reset",function(){setTimeout(function(){h.trigger("setvalue")},0)});h.bind("mouseenter.inputmask",function(){!e(this).hasClass("focus.inputmask")&&
  44. c.showMaskOnHover&&this._valueGet()!=m().join("")&&E(this,m())}).bind("blur.inputmask",function(){var a=e(this);if(a.data("_inputmask")){var b=this._valueGet(),d=m();a.removeClass("focus.inputmask");H!=m().join("")&&a.change();c.clearMaskOnLostFocus&&""!=b&&(b==p().join("")?this._valueSet(""):V(this));!1===R(d)&&(a.trigger("incomplete"),c.clearIncomplete&&(s(),c.clearMaskOnLostFocus?this._valueSet(""):(d=p().slice(),E(this,d))))}}).bind("focus.inputmask",function(){var a=e(this),b=this._valueGet();
  45. c.showMaskOnFocus&&!a.hasClass("focus.inputmask")&&(!c.showMaskOnHover||c.showMaskOnHover&&""==b)&&this._valueGet()!=m().join("")&&E(this,m(),D(v()));a.addClass("focus.inputmask");H=m().join("")}).bind("mouseleave.inputmask",function(){var a=e(this);c.clearMaskOnLostFocus&&(a.hasClass("focus.inputmask")||this._valueGet()==a.attr("placeholder")||(this._valueGet()==p().join("")||""==this._valueGet()?this._valueSet(""):V(this)))}).bind("click.inputmask",function(){var a=this;setTimeout(function(){var b=
  46. z(a);m();if(b.begin==b.end){var b=A?L(b.begin):b.begin,c=v(b),c=D(c);b<c?B(b)?z(a,b):z(a,D(b)):z(a,c)}},0)}).bind("dblclick.inputmask",function(){var a=this;setTimeout(function(){z(a,0,D(v()))},0)}).bind(W+".inputmask dragdrop.inputmask drop.inputmask",ca).bind("setvalue.inputmask",function(){N(this,!0);H=m().join("");this._valueGet()==p().join("")&&this._valueSet("")}).bind("complete.inputmask",c.oncomplete).bind("incomplete.inputmask",c.onincomplete).bind("cleared.inputmask",c.oncleared);h.bind("keydown.inputmask",
  47. aa).bind("keypress.inputmask",X).bind("keyup.inputmask",la);if(fa||ha||ga||ia)"input"==W&&h.unbind(W+".inputmask"),h.bind("input.inputmask",ma);da&&h.bind("input.inputmask",ca);b=e.isFunction(c.onBeforeMask)?c.onBeforeMask.call(a,a._valueGet(),c):a._valueGet();N(a,!0,!1,b.split(""),!0);H=m().join("");var g;try{g=document.activeElement}catch(n){}g===a?(h.addClass("focus.inputmask"),z(a,D(v()))):c.clearMaskOnLostFocus?m().join("")==p().join("")?a._valueSet(""):V(a):E(a,m());ja(a)}}var A=!1,H,h,Y=!1,
  48. S=!1,ba=!1,I;if(void 0!=b)switch(b.action){case "isComplete":return h=e(b.el),d=h.data("_inputmask").maskset,c=h.data("_inputmask").opts,R(b.buffer);case "unmaskedvalue":return h=b.$input,d=h.data("_inputmask").maskset,c=h.data("_inputmask").opts,A=b.$input.data("_inputmask").isRTL,Z(b.$input,b.skipDatepickerCheck);case "mask":H=m().join("");na(b.el);break;case "format":h=e({});h.data("_inputmask",{maskset:d,opts:c,isRTL:c.numericInput});c.numericInput&&(A=!0);var K=b.value.split("");N(h,!1,!1,A?
  49. K.reverse():K,!0);return A?m().reverse().join(""):m().join("");case "isValid":return h=e({}),h.data("_inputmask",{maskset:d,opts:c,isRTL:c.numericInput}),c.numericInput&&(A=!0),K=b.value.split(""),N(h,!1,!0,A?K.reverse():K),R(m());case "getemptymask":return h=e(b.el),d=h.data("_inputmask").maskset,c=h.data("_inputmask").opts,p();case "remove":b=b.el;h=e(b);d=h.data("_inputmask").maskset;c=h.data("_inputmask").opts;b._valueSet(Z(h));h.unbind(".inputmask");h.removeClass("focus.inputmask");h.removeData("_inputmask");
  50. Object.getOwnPropertyDescriptor&&(K=Object.getOwnPropertyDescriptor(b,"value"));K&&K.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));try{delete b._valueGet,delete b._valueSet}catch(oa){b._valueGet=void 0,b._valueSet=void 0}}};e.inputmask={defaults:{placeholder:"_",optionalmarker:{start:"[",end:"]"},quantifiermarker:{start:"{",
  51. end:"}"},groupmarker:{start:"(",end:")"},alternatormarker:"|",escapeChar:"\\",mask:null,oncomplete:e.noop,onincomplete:e.noop,oncleared:e.noop,repeat:0,greedy:!0,autoUnmask:!1,clearMaskOnLostFocus:!0,insertMode:!0,clearIncomplete:!1,aliases:{},onKeyUp:e.noop,onKeyDown:e.noop,onBeforeMask:void 0,onBeforePaste:void 0,onUnMask:void 0,showMaskOnFocus:!0,showMaskOnHover:!0,onKeyValidation:e.noop,skipOptionalPartCharacter:" ",showTooltip:!1,numericInput:!1,getLastValidPosition:void 0,rightAlign:!1,radixPoint:"",
  52. definitions:{9:{validator:"[0-9]",cardinality:1,definitionSymbol:"*"},a:{validator:"[A-Za-z\u0410-\u044f\u0401\u0451]",cardinality:1,definitionSymbol:"*"},"*":{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,
  53. 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],isComplete:void 0},masksCache:{},escapeRegex:function(b){return b.replace(RegExp("(\\/|\\.|\\*|\\+|\\?|\\||\\(|\\)|\\[|\\]|\\{|\\}|\\\\)","gim"),"\\$1")},format:function(b,d){var c=e.extend(!0,{},e.inputmask.defaults,d);B(c.alias,d,c);return O({action:"format",value:b},G(c),c)},isValid:function(b,d){var c=e.extend(!0,
  54. {},e.inputmask.defaults,d);B(c.alias,d,c);return O({action:"isValid",value:b},G(c),c)}};e.fn.inputmask=function(b,d,c,q,s){function v(b,c){var d=e(b),g;for(g in c){var m=d.data("inputmask-"+g.toLowerCase());void 0!=m&&(c[g]=m)}return c}c=c||O;q=q||"_inputmask";var g=e.extend(!0,{},e.inputmask.defaults,d),C;if("string"===typeof b)switch(b){case "mask":return B(g.alias,d,g),C=G(g),0==C.length?this:this.each(function(){c({action:"mask",el:this},e.extend(!0,{},C),v(this,g))});case "unmaskedvalue":return b=
  55. e(this),b.data(q)?c({action:"unmaskedvalue",$input:b}):b.val();case "remove":return this.each(function(){e(this).data(q)&&c({action:"remove",el:this})});case "getemptymask":return this.data(q)?c({action:"getemptymask",el:this}):"";case "hasMaskedValue":return this.data(q)?!this.data(q).opts.autoUnmask:!1;case "isComplete":return this.data(q)?c({action:"isComplete",buffer:this[0]._valueGet().split(""),el:this}):!0;case "getmetadata":if(this.data(q))return C=this.data(q).maskset,C.metadata;break;case "_detectScope":return B(g.alias,
  56. d,g),void 0==s||B(s,d,g)||-1!=e.inArray(s,"mask unmaskedvalue remove getemptymask hasMaskedValue isComplete getmetadata _detectScope".split(" "))||(g.mask=s),e.isFunction(g.mask)&&(g.mask=g.mask.call(this,g)),e.isArray(g.mask);default:return B(b,d,g)||(g.mask=b),C=G(g),void 0==C?this:this.each(function(){c({action:"mask",el:this},e.extend(!0,{},C),v(this,g))})}else{if("object"==typeof b)return g=e.extend(!0,{},e.inputmask.defaults,b),B(g.alias,b,g),C=G(g),void 0==C?this:this.each(function(){c({action:"mask",
  57. el:this},e.extend(!0,{},C),v(this,g))});if(void 0==b)return this.each(function(){var b=e(this).attr("data-inputmask");if(b&&""!=b)try{var b=b.replace(RegExp("'","g"),'"'),q=e.parseJSON("{"+b+"}");e.extend(!0,q,d);g=e.extend(!0,{},e.inputmask.defaults,q);B(g.alias,q,g);g.alias=void 0;e(this).inputmask("mask",g,c)}catch(n){}})}}}})(jQuery);