jquery.inputmask.js 26 KB

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