jquery.inputmask.js 26 KB

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