jquery.inputmask.js 22 KB

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