jquery.inputmask.js 28 KB

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