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