jquery.inputmask.js 24 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. /*
  2. Input Mask plugin for jquery
  3. http://github.com/RobinHerbots/jquery.inputmask
  4. Copyright (c) 2010 - 2013 Robin Herbots
  5. Licensed under the MIT license (http://www.opensource.org/licenses/mit-license.php)
  6. Version: 2.4.13
  7. */
  8. (function(b){if(void 0===b.fn.inputmask){var g={},P=function(b){var f=document.createElement("input");b="on"+b;var a=b in f;a||(f.setAttribute(b,"return;"),a="function"==typeof f[b]);return a},D=function(e,f){var a=g.aliases[e];return a?(a.alias&&D(a.alias),b.extend(!0,g,a),b.extend(!0,g,f),!0):!1},M=function(e){g.numericInput&&(e=e.split("").reverse().join(""));var f=!1,a=0,c=g.greedy,q=g.repeat;"*"==q&&(c=!1);1==e.length&&!1==c&&0!=q&&(g.placeholder="");e=b.map(e.split(""),function(b,c){var d=[];
  9. if(b==g.escapeChar)f=!0;else if(b!=g.optionalmarker.start&&b!=g.optionalmarker.end||f){var h=g.definitions[b];if(h&&!f)for(var e=0;e<h.cardinality;e++)d.push(L(a+e));else d.push(b),f=!1;a+=d.length;return d}});for(var d=e.slice(),h=1;h<q&&c;h++)d=d.concat(e.slice());return{mask:d,repeat:q,greedy:c}},Q=function(e){g.numericInput&&(e=e.split("").reverse().join(""));var f=!1,a=!1,c=!1;return b.map(e.split(""),function(b,d){var h=[];if(b==g.escapeChar)a=!0;else{if(b!=g.optionalmarker.start||a){if(b!=
  10. g.optionalmarker.end||a){var e=g.definitions[b];if(e&&!a){for(var v=e.prevalidator,m=v?v.length:0,y=1;y<e.cardinality;y++){var t=m>=y?v[y-1]:[],r=t.validator,t=t.cardinality;h.push({fn:r?"string"==typeof r?RegExp(r):new function(){this.test=r}:/./,cardinality:t?t:1,optionality:f,newBlockMarker:!0==f?c:!1,offset:0,casing:e.casing,def:e.definitionSymbol||b});!0==f&&(c=!1)}h.push({fn:e.validator?"string"==typeof e.validator?RegExp(e.validator):new function(){this.test=e.validator}:/./,cardinality:e.cardinality,
  11. optionality:f,newBlockMarker:c,offset:0,casing:e.casing,def:e.definitionSymbol||b})}else h.push({fn:null,cardinality:0,optionality:f,newBlockMarker:c,offset:0,casing:null,def:b}),a=!1;c=!1;return h}f=!1}else f=!0;c=!0}})},R=function(){function e(a){var b=a.length;for(i=0;i<b&&a.charAt(i)!=g.optionalmarker.start;i++);var c=[a.substring(0,i)];i<b&&c.push(a.substring(i+1,b));return c}function f(q,d,h){var n=0,v=0,m=d.length;for(i=0;i<m&&!(d.charAt(i)==g.optionalmarker.start&&n++,d.charAt(i)==g.optionalmarker.end&&
  12. v++,0<n&&n==v);i++);n=[d.substring(0,i)];i<m&&n.push(d.substring(i+1,m));v=e(n[0]);1<v.length?(d=q+v[0]+(g.optionalmarker.start+v[1]+g.optionalmarker.end)+(1<n.length?n[1]:""),-1==b.inArray(d,c)&&""!=d&&(c.push(d),m=M(d),a.push({mask:d,_buffer:m.mask,buffer:m.mask.slice(),tests:Q(d),lastValidPosition:-1,greedy:m.greedy,repeat:m.repeat,metadata:h})),d=q+v[0]+(1<n.length?n[1]:""),-1==b.inArray(d,c)&&""!=d&&(c.push(d),m=M(d),a.push({mask:d,_buffer:m.mask,buffer:m.mask.slice(),tests:Q(d),lastValidPosition:-1,
  13. greedy:m.greedy,repeat:m.repeat,metadata:h})),1<e(v[1]).length&&f(q+v[0],v[1]+n[1],h),1<n.length&&1<e(n[1]).length&&(f(q+v[0]+(g.optionalmarker.start+v[1]+g.optionalmarker.end),n[1],h),f(q+v[0],n[1],h))):(d=q+n,-1==b.inArray(d,c)&&""!=d&&(c.push(d),m=M(d),a.push({mask:d,_buffer:m.mask,buffer:m.mask.slice(),tests:Q(d),lastValidPosition:-1,greedy:m.greedy,repeat:m.repeat,metadata:h})))}var a=[],c=[];b.isFunction(g.mask)&&(g.mask=g.mask.call(this,g));b.isArray(g.mask)?b.each(g.mask,function(a,b){void 0!=
  14. b.mask?f("",b.mask.toString(),b):f("",b.toString())}):f("",g.mask.toString());return g.greedy?a:a.sort(function(a,b){return a.mask.length-b.mask.length})},L=function(b){return g.placeholder.charAt(b%g.placeholder.length)},Y=null!==navigator.userAgent.match(/msie 10/i),ga=null!==navigator.userAgent.match(/iphone/i),aa=null!==navigator.userAgent.match(/android.*safari.*/i),ba=null!==navigator.userAgent.match(/android.*chrome.*/i),ha=P("paste")&&!Y?"paste":P("input")?"input":"propertychange",z=function(e,
  15. f,a){function c(){return e[f]}function g(){return c().tests}function d(){return c()._buffer}function h(){return c().buffer}function n(l,E,d){function g(b,c,l,E){for(var d=y(b),e=l?1:0,T="",J=c.buffer,$=c.tests[d].cardinality;$>e;$--)T+=G(J,d-($-1));l&&(T+=l);return null!=c.tests[d].fn?c.tests[d].fn.test(T,J,b,E,a):l==G(c._buffer,b,!0)||l==a.skipOptionalPartCharacter?{refresh:!0,c:G(c._buffer,b,!0),pos:b}:!1}if(d=!0===d){var A=g(l,c(),E,d);!0===A&&(A={pos:l});return A}var q=[],A=!1,n=f,s=h().slice(),
  16. p=c().lastValidPosition;H(l);var v=[];b.each(e,function(a,b){if("object"==typeof b){f=a;var e=l,w=c().lastValidPosition,u;if(w==p){if(1<e-p)for(w=-1==w?0:w;w<e&&(u=g(w,c(),s[w],!0),!1!==u);w++)I(h(),w,s[w],!0),!0===u&&(u={pos:w}),u=u.pos||w,c().lastValidPosition<u&&(c().lastValidPosition=u);if(!m(e)&&!g(e,c(),E,d)){w=r(e)-e;for(u=0;u<w&&!1===g(++e,c(),E,d);u++);v.push(f)}}(c().lastValidPosition>=p||f==n)&&0<=e&&e<t()&&(A=g(e,c(),E,d),!1!==A&&(!0===A&&(A={pos:e}),u=A.pos||e,c().lastValidPosition<u&&
  17. (c().lastValidPosition=u)),q.push({activeMasksetIndex:a,result:A}))}});f=n;return function(a,c){var d=!1;b.each(c,function(c,l){if(d=-1==b.inArray(l.activeMasksetIndex,a)&&!1!==l.result)return!1});if(d)c=b.map(c,function(c,l){if(-1==b.inArray(c.activeMasksetIndex,a))return c;e[c.activeMasksetIndex].lastValidPosition=p});else{var h=-1,f=-1;b.each(c,function(c,l){-1!=b.inArray(l.activeMasksetIndex,a)&&!1!==l.result&(-1==h||h>l.result.pos)&&(h=l.result.pos,f=l.activeMasksetIndex)});c=b.map(c,function(c,
  18. T){if(-1!=b.inArray(c.activeMasksetIndex,a)){if(c.result.pos==h)return c;if(!1!==c.result){for(var J=l;J<h;J++)if(rsltValid=g(J,e[c.activeMasksetIndex],e[f].buffer[J],!0),!1===rsltValid){e[c.activeMasksetIndex].lastValidPosition=h-1;break}else I(e[c.activeMasksetIndex].buffer,J,e[f].buffer[J],!0),e[c.activeMasksetIndex].lastValidPosition=J;rsltValid=g(h,e[c.activeMasksetIndex],E,!0);!1!==rsltValid&&(I(e[c.activeMasksetIndex].buffer,h,E,!0),e[c.activeMasksetIndex].lastValidPosition=h);return c}}})}return c}(v,
  19. q)}function v(){var a=f,d={activeMasksetIndex:0,lastValidPosition:-1,next:-1};b.each(e,function(a,b){"object"==typeof b&&(f=a,c().lastValidPosition>d.lastValidPosition?(d.activeMasksetIndex=a,d.lastValidPosition=c().lastValidPosition,d.next=r(c().lastValidPosition)):c().lastValidPosition==d.lastValidPosition&&(-1==d.next||d.next>r(c().lastValidPosition))&&(d.activeMasksetIndex=a,d.lastValidPosition=c().lastValidPosition,d.next=r(c().lastValidPosition)))});f=-1!=d.lastValidPosition&&e[a].lastValidPosition==
  20. d.lastValidPosition?a:d.activeMasksetIndex;a!=f&&(D(h(),r(d.lastValidPosition),t()),c().writeOutBuffer=!0);s.data("_inputmask").activeMasksetIndex=f}function m(a){a=y(a);a=g()[a];return void 0!=a?a.fn:!1}function y(a){return a%g().length}function t(){return a.getMaskLength(d(),c().greedy,c().repeat,h(),a)}function r(a){var b=t();if(a>=b)return b;for(;++a<b&&!m(a););return a}function H(a){if(0>=a)return 0;for(;0<--a&&!m(a););return a}function I(a,b,c,d){d&&(b=z(a,b));d=g()[y(b)];var e=c;if(void 0!=
  21. e&&void 0!=d)switch(d.casing){case "upper":e=c.toUpperCase();break;case "lower":e=c.toLowerCase()}a[b]=e}function G(a,b,c){c&&(b=z(a,b));return a[b]}function z(a,b){for(var c;void 0==a[b]&&a.length<t();)for(c=0;void 0!==d()[c];)a.push(d()[c++]);return b}function K(a,b,c){a._valueSet(b.join(""));void 0!=c&&p(a,c)}function D(a,b,c,e){for(var h=t();b<c&&b<h;b++)!0===e?m(b)||I(a,b,""):I(a,b,G(d().slice(),b,!0))}function X(a,b){var c=y(b);I(a,b,G(d(),c))}function U(a,h,g,m,A){m=void 0!=m?m.slice():Q(a._valueGet()).split("");
  22. b.each(e,function(a,b){"object"==typeof b&&(b.buffer=b._buffer.slice(),b.lastValidPosition=-1,b.p=-1)});!0!==g&&(f=0);h&&a._valueSet("");t();b.each(m,function(e,f){if(!0===A){var m=c().p,m=-1==m?m:H(m),q=-1==m?e:r(m);-1==b.inArray(f,d().slice(m+1,q))&&b(a).trigger("_keypress",[!0,f.charCodeAt(0),h,g,e])}else b(a).trigger("_keypress",[!0,f.charCodeAt(0),h,g,e])});!0===g&&-1!=c().p&&(c().lastValidPosition=H(c().p))}function M(a){return b.inputmask.escapeRegex.call(this,a)}function Q(a){return a.replace(RegExp("("+
  23. M(d().join(""))+")*$"),"")}function R(a){var b=h(),c=b.slice(),d,e;for(e=c.length-1;0<=e;e--)if(d=y(e),g()[d].optionality)if(m(e)&&n(e,b[e],!0))break;else c.pop();else break;K(a,c)}function P(c,d){if(!g()||!0!==d&&c.hasClass("hasDatepicker"))return c[0]._valueGet();var e=b.map(h(),function(a,b){return m(b)&&n(b,a,!0)?a:null}),e=(B?e.reverse():e).join("");return void 0!=a.onUnMask?a.onUnMask.call(this,h().join(""),e):e}function N(b){!B||"number"!=typeof b||a.greedy&&""==a.placeholder||(b=h().length-
  24. b);return b}function p(c,d,e){var h=c.jquery&&0<c.length?c[0]:c;if("number"==typeof d)d=N(d),e=N(e),b(c).is(":visible")&&(e="number"==typeof e?e:d,h.scrollLeft=h.scrollWidth,!1==a.insertMode&&d==e&&e++,h.setSelectionRange?(h.selectionStart=d,h.selectionEnd=aa?d:e):h.createTextRange&&(c=h.createTextRange(),c.collapse(!0),c.moveEnd("character",e),c.moveStart("character",d),c.select()));else{if(!b(c).is(":visible"))return{begin:0,end:0};h.setSelectionRange?(d=h.selectionStart,e=h.selectionEnd):document.selection&&
  25. document.selection.createRange&&(c=document.selection.createRange(),d=0-c.duplicate().moveStart("character",-1E5),e=d+c.text.length);d=N(d);e=N(e);return{begin:d,end:e}}}function W(c){if("*"!=a.repeat){var h=!1,g=0,q=f;b.each(e,function(a,b){if("object"==typeof b){f=a;var e=H(t());if(b.lastValidPosition>=g&&b.lastValidPosition==e){for(var q=!0,n=0;n<=e;n++){var r=m(n),p=y(n);if(r&&(void 0==c[n]||c[n]==L(n))||!r&&c[n]!=d()[p]){q=!1;break}}if(h=h||q)return!1}g=b.lastValidPosition}});f=q;return h}}var B=
  26. !1,O=h().join(""),s,fa;this.unmaskedvalue=function(a,b){B=a.data("_inputmask").isRTL;return P(a,b)};this.isComplete=function(a){return W(a)};this.mask=function(l){function E(a){a=b._data(a).events;b.each(a,function(a,c){b.each(c,function(a,b){if("inputmask"==b.namespace&&"setvalue"!=b.type&&"_keypress"!=b.type){var c=b.handler;b.handler=function(a){if(this.readOnly||this.disabled)a.preventDefault;else return c.apply(this,arguments)}}})})}function z(a){var c;Object.getOwnPropertyDescriptor&&(c=Object.getOwnPropertyDescriptor(a,
  27. "value"));if(c&&c.get){if(!a._valueGet){var e=c.get,d=c.set;a._valueGet=function(){return B?e.call(this).split("").reverse().join(""):e.call(this)};a._valueSet=function(a){d.call(this,B?a.split("").reverse().join(""):a)};Object.defineProperty(a,"value",{get:function(){var a=b(this),c=b(this).data("_inputmask"),d=c.masksets,h=c.activeMasksetIndex;return c&&c.opts.autoUnmask?a.inputmask("unmaskedvalue"):e.call(this)!=d[h]._buffer.join("")?e.call(this):""},set:function(a){d.call(this,a);b(this).triggerHandler("setvalue.inputmask")}})}}else if(document.__lookupGetter__&&
  28. a.__lookupGetter__("value"))a._valueGet||(e=a.__lookupGetter__("value"),d=a.__lookupSetter__("value"),a._valueGet=function(){return B?e.call(this).split("").reverse().join(""):e.call(this)},a._valueSet=function(a){d.call(this,B?a.split("").reverse().join(""):a)},a.__defineGetter__("value",function(){var a=b(this),c=b(this).data("_inputmask"),d=c.masksets,h=c.activeMasksetIndex;return c&&c.opts.autoUnmask?a.inputmask("unmaskedvalue"):e.call(this)!=d[h]._buffer.join("")?e.call(this):""}),a.__defineSetter__("value",
  29. function(a){d.call(this,a);b(this).triggerHandler("setvalue.inputmask")}));else if(a._valueGet||(a._valueGet=function(){return B?this.value.split("").reverse().join(""):this.value},a._valueSet=function(a){this.value=B?a.split("").reverse().join(""):a}),void 0==b.valHooks.text||!0!=b.valHooks.text.inputmaskpatch)e=b.valHooks.text&&b.valHooks.text.get?b.valHooks.text.get:function(a){return a.value},d=b.valHooks.text&&b.valHooks.text.set?b.valHooks.text.set:function(a,c){a.value=c;return a},jQuery.extend(b.valHooks,
  30. {text:{get:function(a){var c=b(a);if(c.data("_inputmask")){if(c.data("_inputmask").opts.autoUnmask)return c.inputmask("unmaskedvalue");a=e(a);c=c.data("_inputmask");return a!=c.masksets[c.activeMasksetIndex]._buffer.join("")?a:""}return e(a)},set:function(a,c){var e=b(a),h=d(a,c);e.data("_inputmask")&&e.triggerHandler("setvalue.inputmask");return h},inputmaskpatch:!0}})}function M(a,b,e,k){var f=h();if(!1!==k)for(;!m(a)&&0<=a-1;)a--;for(k=a;k<b&&k<t();k++)if(m(k)){X(f,k);var l=r(k),p=G(f,l);if(p!=
  31. L(l))if(l<t()&&!1!==n(k,p,!0)&&g()[y(k)].def==g()[y(l)].def)I(f,k,p,!0);else if(m(k))break}else X(f,k);void 0!=e&&I(f,H(b),e);if(!1==c().greedy){b=Q(f.join("")).split("");f.length=b.length;k=0;for(e=f.length;k<e;k++)f[k]=b[k];0==f.length&&(c().buffer=d().slice())}return a}function A(a,b,e){var k=h();if(G(k,a,!0)!=L(a))for(var f=H(b);f>a&&0<=f;f--)if(m(f)){var l=H(f),p=G(k,l);p!=L(l)&&!1!==n(l,p,!0)&&g()[y(f)].def==g()[y(l)].def&&(I(k,f,p,!0),X(k,l))}else X(k,f);void 0!=e&&G(k,a)==L(a)&&I(k,a,e);a=
  32. k.length;if(!1==c().greedy){e=Q(k.join("")).split("");k.length=e.length;f=0;for(l=k.length;f<l;f++)k[f]=e[f];0==k.length&&(c().buffer=d().slice())}return b-(a-k.length)}function P(b,d,f){if(a.numericInput||B){switch(d){case a.keyCode.BACKSPACE:d=a.keyCode.DELETE;break;case a.keyCode.DELETE:d=a.keyCode.BACKSPACE}if(B){var k=f.end;f.end=f.begin;f.begin=k}}k=!0;f.begin==f.end?(k=d==a.keyCode.BACKSPACE?f.begin-1:f.begin,a.isNumeric&&""!=a.radixPoint&&h()[k]==a.radixPoint&&(f.begin=h().length-1==k?f.begin:
  33. d==a.keyCode.BACKSPACE?k:r(k),f.end=f.begin),k=!1,d==a.keyCode.BACKSPACE?f.begin--:d==a.keyCode.DELETE&&f.end++):1!=f.end-f.begin||a.insertMode||(k=!1,d==a.keyCode.BACKSPACE&&f.begin--);D(h(),f.begin,f.end);var g=t();if(!1==a.greedy)M(f.begin,g,void 0,!B&&d==a.keyCode.BACKSPACE&&!k);else{for(var l=f.begin,n=f.begin;n<f.end;n++)if(m(n)||!k)l=M(f.begin,g,void 0,!B&&d==a.keyCode.BACKSPACE&&!k);k||(f.begin=l)}d=r(-1);D(h(),f.begin,f.end,!0);U(b,!1,void 0==e[1]||d>=f.end,h());c().lastValidPosition<d?(c().lastValidPosition=
  34. -1,c().p=d):c().p=f.begin}function da(e){Z=!1;var f=this,g=b(f),k=e.keyCode,l=p(f);k==a.keyCode.BACKSPACE||k==a.keyCode.DELETE||ga&&127==k||e.ctrlKey&&88==k?(e.preventDefault(),88==k&&(O=h().join("")),P(f,k,l),v(),K(f,h(),c().p),f._valueGet()==d().join("")&&g.trigger("cleared"),a.showTooltip&&g.prop("title",c().mask)):k==a.keyCode.END||k==a.keyCode.PAGE_DOWN?setTimeout(function(){var b=r(c().lastValidPosition);a.insertMode||b!=t()||e.shiftKey||b--;p(f,e.shiftKey?l.begin:b,b)},0):k==a.keyCode.HOME&&
  35. !e.shiftKey||k==a.keyCode.PAGE_UP?p(f,0,e.shiftKey?l.begin:0):k==a.keyCode.ESCAPE||90==k&&e.ctrlKey?(U(f,!0,!1,O.split("")),g.click()):k!=a.keyCode.INSERT||e.shiftKey||e.ctrlKey?!1!=a.insertMode||e.shiftKey||(k==a.keyCode.RIGHT?setTimeout(function(){var a=p(f);p(f,a.begin)},0):k==a.keyCode.LEFT&&setTimeout(function(){var a=p(f);p(f,a.begin-1)},0)):(a.insertMode=!a.insertMode,p(f,a.insertMode||l.begin!=t()?l.begin:l.begin-1));g=p(f);!0===a.onKeyDown.call(this,e,h(),a)&&p(f,g.begin,g.end);ca=-1!=b.inArray(k,
  36. a.ignorables)}function ea(d,g,l,k,m,q){if(void 0==l&&Z)return!1;Z=!0;var s=b(this);d=d||window.event;l=l||d.which||d.charCode||d.keyCode;if((!d.ctrlKey||!d.altKey)&&(d.ctrlKey||d.metaKey||ca)&&!0!==g)return!0;if(l){!0!==g&&46==l&&!1==d.shiftKey&&","==a.radixPoint&&(l=44);var x,w,u=String.fromCharCode(l);g?(l=m?q:c().lastValidPosition+1,x={begin:l,end:l}):x=p(this);q=B?1<x.begin-x.end||1==x.begin-x.end&&a.insertMode:1<x.end-x.begin||1==x.end-x.begin&&a.insertMode;var y=f;q&&(f=y,b.each(e,function(a,
  37. b){"object"==typeof b&&(f=a,c().undoBuffer=h().join(""))}),P(this,a.keyCode.DELETE,x),a.insertMode||b.each(e,function(a,b){"object"==typeof b&&(f=a,A(x.begin,t()),c().lastValidPosition=r(c().lastValidPosition))}),f=y);var z=h().join("").indexOf(a.radixPoint);a.isNumeric&&!0!==g&&-1!=z&&(a.greedy&&x.begin<=z?(x.begin=H(x.begin),x.end=x.begin):u==a.radixPoint&&(x.begin=z,x.end=x.begin));var C=x.begin;l=n(C,u,m);!0===m&&(l=[{activeMasksetIndex:f,result:l}]);var F=-1;b.each(l,function(b,e){f=e.activeMasksetIndex;
  38. c().writeOutBuffer=!0;var d=e.result;if(!1!==d){var g=!1,k=h();!0!==d&&(g=d.refresh,C=void 0!=d.pos?d.pos:C,u=void 0!=d.c?d.c:u);if(!0!==g){if(!0==a.insertMode){d=t();for(k=k.slice();G(k,d,!0)!=L(d)&&d>=C;)d=0==d?-1:H(d);d>=C?(A(C,t(),u),k=c().lastValidPosition,d=r(k),d!=t()&&k>=C&&G(h(),d,!0)!=L(d)&&(c().lastValidPosition=d)):c().writeOutBuffer=!1}else I(k,C,u,!0);if(-1==F||F>r(C))F=r(C)}else!m&&(k=C<t()?C+1:C,-1==F||F>k)&&(F=k);F>c().p&&(c().p=F)}});!0!==m&&(f=y,v());if(!1!==k&&(b.each(l,function(a,
  39. b){if(b.activeMasksetIndex==f)return w=b,!1}),void 0!=w)){var E=this;setTimeout(function(){a.onKeyValidation.call(E,w.result,a)},0);if(c().writeOutBuffer&&!1!==w.result){var D=h();k=g?void 0:a.numericInput?C>z?H(F):u==a.radixPoint?F-1:H(F-1):F;K(this,D,k);!0!==g&&setTimeout(function(){!0===W(D)&&s.trigger("complete");V=!0;s.trigger("input")},0)}else q&&(c().buffer=c().undoBuffer.split(""))}a.showTooltip&&s.prop("title",c().mask);d.preventDefault()}}function Y(c){var e=b(this),f=c.keyCode,g=h();ba&&
  40. f==a.keyCode.BACKSPACE&&fa==this._valueGet()&&da.call(this,c);a.onKeyUp.call(this,c,g,a);f==a.keyCode.TAB&&a.showMaskOnFocus&&(e.hasClass("focus.inputmask")&&0==this._valueGet().length?(g=d().slice(),K(this,g),p(this,0),O=h().join("")):(K(this,g),g.join("")==d().join("")&&-1!=b.inArray(a.radixPoint,g)?(p(this,N(0)),e.click()):p(this,N(0),N(t()))))}s=b(l);if(s.is(":input")){s.data("_inputmask",{masksets:e,activeMasksetIndex:f,opts:a,isRTL:!1});a.showTooltip&&s.prop("title",c().mask);c().greedy=c().greedy?
  41. c().greedy:0==c().repeat;if(null!=s.attr("maxLength")){var S=s.prop("maxLength");-1<S&&b.each(e,function(a,b){"object"==typeof b&&"*"==b.repeat&&(b.repeat=S)});t()>=S&&-1<S&&(S<d().length&&(d().length=S),!1==c().greedy&&(c().repeat=Math.round(S/d().length)),s.prop("maxLength",2*t()))}z(l);var Z=!1,V=!1,ca=!1;a.numericInput&&(a.isNumeric=a.numericInput);("rtl"==l.dir||a.numericInput&&a.rightAlignNumerics||a.isNumeric&&a.rightAlignNumerics)&&s.css("text-align","right");if("rtl"==l.dir||a.numericInput){l.dir=
  42. "ltr";s.removeAttr("dir");var w=s.data("_inputmask");w.isRTL=!0;s.data("_inputmask",w);B=!0}s.unbind(".inputmask");s.removeClass("focus.inputmask");s.closest("form").bind("submit",function(){O!=h().join("")&&s.change()}).bind("reset",function(){setTimeout(function(){s.trigger("setvalue")},0)});s.bind("mouseenter.inputmask",function(){!b(this).hasClass("focus.inputmask")&&a.showMaskOnHover&&this._valueGet()!=h().join("")&&K(this,h())}).bind("blur.inputmask",function(){var c=b(this),g=this._valueGet(),
  43. l=h();c.removeClass("focus.inputmask");O!=h().join("")&&c.change();a.clearMaskOnLostFocus&&""!=g&&(g==d().join("")?this._valueSet(""):R(this));!1===W(l)&&(c.trigger("incomplete"),a.clearIncomplete&&(b.each(e,function(a,b){"object"==typeof b&&(b.buffer=b._buffer.slice(),b.lastValidPosition=-1)}),f=0,a.clearMaskOnLostFocus?this._valueSet(""):(l=d().slice(),K(this,l))))}).bind("focus.inputmask",function(){var d=b(this),e=this._valueGet();a.showMaskOnFocus&&!d.hasClass("focus.inputmask")&&(!a.showMaskOnHover||
  44. a.showMaskOnHover&&""==e)&&this._valueGet()!=h().join("")&&K(this,h(),r(c().lastValidPosition));d.addClass("focus.inputmask");O=h().join("")}).bind("mouseleave.inputmask",function(){var c=b(this);a.clearMaskOnLostFocus&&(c.hasClass("focus.inputmask")||this._valueGet()==c.attr("placeholder")||(this._valueGet()==d().join("")||""==this._valueGet()?this._valueSet(""):R(this)))}).bind("click.inputmask",function(){var d=this;setTimeout(function(){var e=p(d),f=h();if(e.begin==e.end){var e=a.isRTL?N(e.begin):
  45. e.begin,g=c().lastValidPosition,f=a.isNumeric?!1===a.skipRadixDance&&""!=a.radixPoint&&-1!=b.inArray(a.radixPoint,f)?a.numericInput?r(b.inArray(a.radixPoint,f)):b.inArray(a.radixPoint,f):r(g):r(g);e<f?m(e)?p(d,e):p(d,r(e)):p(d,f)}},0)}).bind("dblclick.inputmask",function(){var a=this;setTimeout(function(){p(a,0,r(c().lastValidPosition))},0)}).bind(ha+".inputmask dragdrop.inputmask drop.inputmask",function(c){if(!0===V)return V=!1,!0;var d=this,e=b(d);if("propertychange"==c.type&&d._valueGet().length<=
  46. t())return!0;setTimeout(function(){var b=void 0!=a.onBeforePaste?a.onBeforePaste.call(this,d._valueGet()):d._valueGet();U(d,!0,!1,b.split(""),!0);!0===W(h())&&e.trigger("complete");e.click()},0)}).bind("setvalue.inputmask",function(){U(this,!0);O=h().join("");this._valueGet()==d().join("")&&this._valueSet("")}).bind("_keypress.inputmask",ea).bind("complete.inputmask",a.oncomplete).bind("incomplete.inputmask",a.onincomplete).bind("cleared.inputmask",a.oncleared).bind("keyup.inputmask",Y);ba?s.bind("input.inputmask",
  47. function(a){if(!0===V)return V=!1,!0;a=b(this);fa=h().join("");U(this,!1,!1);K(this,h());!0===W(h())&&a.trigger("complete");a.click()}):s.bind("keydown.inputmask",da).bind("keypress.inputmask",ea);U(l,!0,!1);O=h().join("");var u;try{u=document.activeElement}catch(aa){}u===l?(s.addClass("focus.inputmask"),p(l,r(c().lastValidPosition))):a.clearMaskOnLostFocus?h().join("")==d().join("")?l._valueSet(""):R(l):K(l,h());E(l)}};return this};b.inputmask={defaults:{placeholder:"_",optionalmarker:{start:"[",
  48. end:"]"},quantifiermarker:{start:"{",end:"}"},groupmarker:{start:"(",end:")"},escapeChar:"\\",mask:null,oncomplete:b.noop,onincomplete:b.noop,oncleared:b.noop,repeat:0,greedy:!0,autoUnmask:!1,clearMaskOnLostFocus:!0,insertMode:!0,clearIncomplete:!1,aliases:{},onKeyUp:b.noop,onKeyDown:b.noop,onBeforePaste:void 0,onUnMask:void 0,showMaskOnFocus:!0,showMaskOnHover:!0,onKeyValidation:b.noop,skipOptionalPartCharacter:" ",showTooltip:!1,numericInput:!1,isNumeric:!1,radixPoint:"",skipRadixDance:!1,rightAlignNumerics:!0,
  49. definitions:{9:{validator:"[0-9]",cardinality:1},a:{validator:"[A-Za-z\u0410-\u044f\u0401\u0451]",cardinality:1},"*":{validator:"[A-Za-z\u0410-\u044f\u0401\u04510-9]",cardinality:1}},keyCode:{ALT:18,BACKSPACE:8,CAPS_LOCK:20,COMMA:188,COMMAND:91,COMMAND_LEFT:91,COMMAND_RIGHT:93,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,INSERT:45,LEFT:37,MENU:93,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,
  50. 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],getMaskLength:function(b,f,a,c,g){g=b.length;f||("*"==a?g=c.length+1:1<a&&(g+=b.length*(a-1)));return g}},escapeRegex:function(b){return b.replace(RegExp("(\\/|\\.|\\*|\\+|\\?|\\||\\(|\\)|\\[|\\]|\\{|\\}|\\\\)","gim"),"\\$1")},format:function(b,f){}};b.fn.inputmask=function(e,f){g=b.extend(!0,{},b.inputmask.defaults,f);var a,c=0;if("string"===
  51. typeof e)switch(e){case "mask":return D(g.alias,f),a=R(),0==a.length?this:this.each(function(){z(b.extend(!0,{},a),0,g).mask(this)});case "unmaskedvalue":var q=b(this);return q.data("_inputmask")?(a=q.data("_inputmask").masksets,c=q.data("_inputmask").activeMasksetIndex,g=q.data("_inputmask").opts,z(a,c,g).unmaskedvalue(q)):q.val();case "remove":return this.each(function(){var d=b(this);if(d.data("_inputmask")){a=d.data("_inputmask").masksets;c=d.data("_inputmask").activeMasksetIndex;g=d.data("_inputmask").opts;
  52. this._valueSet(z(a,c,g).unmaskedvalue(d,!0));d.removeData("_inputmask");d.unbind(".inputmask");d.removeClass("focus.inputmask");var e;Object.getOwnPropertyDescriptor&&(e=Object.getOwnPropertyDescriptor(this,"value"));e&&e.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,
  53. delete this._valueSet}catch(f){this._valueSet=this._valueGet=void 0}}});case "getemptymask":return this.data("_inputmask")?(a=this.data("_inputmask").masksets,c=this.data("_inputmask").activeMasksetIndex,a[c]._buffer.join("")):"";case "hasMaskedValue":return this.data("_inputmask")?!this.data("_inputmask").opts.autoUnmask:!1;case "isComplete":return a=this.data("_inputmask").masksets,c=this.data("_inputmask").activeMasksetIndex,g=this.data("_inputmask").opts,z(a,c,g).isComplete(this[0]._valueGet().split(""));
  54. case "getmetadata":if(this.data("_inputmask"))return a=this.data("_inputmask").masksets,c=this.data("_inputmask").activeMasksetIndex,a[c].metadata;break;default:return D(e,f)||(g.mask=e),a=R(),0==a.length?this:this.each(function(){z(b.extend(!0,{},a),c,g).mask(this)})}else{if("object"==typeof e)return g=b.extend(!0,{},b.inputmask.defaults,e),D(g.alias,e),a=R(),0==a.length?this:this.each(function(){z(b.extend(!0,{},a),c,g).mask(this)});if(void 0==e)return this.each(function(){var a=b(this).attr("data-inputmask");
  55. if(a&&""!=a)try{var a=a.replace(RegExp("'","g"),'"'),c=b.parseJSON("{"+a+"}");b.extend(!0,c,f);g=b.extend(!0,{},b.inputmask.defaults,c);D(g.alias,c);g.alias=void 0;b(this).inputmask(g)}catch(e){}})}}}})(jQuery);