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