jquery.inputmask.js 25 KB

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