jquery.inputmask.js 31 KB

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