jquery.inputmask.js 28 KB

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