| 12345678910111213141516171819202122232425262728293031323334353637383940 |
- /*
- Input Mask plugin for jquery
- http://github.com/RobinHerbots/jquery.inputmask
- Copyright (c) 2010 - 2013 Robin Herbots
- Licensed under the MIT license (http://www.opensource.org/licenses/mit-license.php)
- Version: 1.3.17
- */
- (function(f){void 0==f.fn.inputmask&&(f.inputmask={defaults:{placeholder:"_",optionalmarker:{start:"[",end:"]"},escapeChar:"\\",mask:null,oncomplete:f.noop,onincomplete:f.noop,oncleared:f.noop,repeat:0,greedy:!0,autoUnmask:!1,clearMaskOnLostFocus:!0,insertMode:!0,clearIncomplete:!1,aliases:{},onKeyUp:f.noop,onKeyDown:f.noop,showMaskOnFocus:!0,showMaskOnHover:!0,onKeyValidation:f.noop,numericInput:!1,radixPoint:"",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,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(f,H,L){var I=f.length;!H&&1<L&&(I+=f.length*(L-1));return I}},val:f.fn.val,escapeRegex:function(f){return f.replace(RegExp("(\\/|\\.|\\*|\\+|\\?|\\||\\(|\\)|\\[|\\]|\\{|\\}|\\\\)","gim"),"\\$1")}},f.fn.inputmask=function(s,H){var L,I;function z(e,c){var b=a.aliases[e];return b?(b.alias&&z(b.alias),f.extend(!0,a,b),f.extend(!0,a,c),!0):!1}function J(){var e=!1,c=0,b=a.mask.toString();1==b.length&&!1==a.greedy&&
- (a.placeholder="");for(var b=f.map(b.split(""),function(b){var f=[];if(b==a.escapeChar)e=true;else if(b!=a.optionalmarker.start&&b!=a.optionalmarker.end||e){var u=a.definitions[b];if(u&&!e)for(b=0;b<u.cardinality;b++)f.push(A(c+b));else{f.push(b);e=false}c=c+f.length;return f}}),u=b.slice(),l=1;l<a.repeat&&a.greedy;l++)u=u.concat(b.slice());return u}function N(){var e=!1,c=!1,b=!1;return f.map(a.mask.toString().split(""),function(f){var l=[];if(f==a.escapeChar)c=!0;else if(f==a.optionalmarker.start&&
- !c)b=e=!0;else if(f==a.optionalmarker.end&&!c)e=!1,b=!0;else{var g=a.definitions[f];if(g&&!c){for(var h=g.prevalidator,j=h?h.length:0,m=1;m<g.cardinality;m++){var k=j>=m?h[m-1]:[],d=k.validator,k=k.cardinality;l.push({fn:d?"string"==typeof d?RegExp(d):new function(){this.test=d}:/./,cardinality:k?k:1,optionality:e,newBlockMarker:!0==e?b:!1,offset:0,casing:g.casing,def:f});!0==e&&(b=!1)}l.push({fn:g.validator?"string"==typeof g.validator?RegExp(g.validator):new function(){this.test=g.validator}:/./,
- cardinality:g.cardinality,optionality:e,newBlockMarker:b,offset:0,casing:g.casing,def:f})}else l.push({fn:null,cardinality:0,optionality:e,newBlockMarker:b,offset:0,casing:null,def:f}),c=!1;b=!1;return l}})}function C(e,c,b,f){var g=!1;if(0<=e&&e<p(b)){for(var n=e%h.length,t=c?1:0,j="",m=h[n].cardinality;m>t;m--)j+=w(b,n-(m-1));c&&(j+=c);g=null!=h[n].fn?h[n].fn.test(j,b,e,f,a):!1}setTimeout(function(){a.onKeyValidation.call(this,g,a)},0);return g}function t(e){e=h[e%h.length];return void 0!=e?e.fn:
- !1}function A(e){return a.placeholder.charAt(e%a.placeholder.length)}function p(e){return a.getMaskLength(g,a.greedy,a.repeat,e,a)}function x(e,a){var b=p(e);if(a>=b)return b;for(var f=a;++f<b&&!t(f););return f}function M(e,a){var b=a;if(0>=b)return 0;for(;0<--b&&!t(b););return b}function E(e,a,b){var f=h[a%h.length],g=b;if(void 0!=g)switch(f.casing){case "upper":g=b.toUpperCase();break;case "lower":g=b.toLowerCase()}e[a]=g}function w(a,c,b){b&&(c=R(a,c));return a[c]}function R(a,c,b){if(b)for(;0>
- c&&a.length<p(a);){b=g.length-1;for(c=g.length;void 0!==g[b];)a.unshift(g[b--])}else for(;void 0==a[c]&&a.length<p(a);)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&&n(a,b)}function S(a,c,b){for(var f=p(a);c<b&&c<f;c++)E(a,c,w(g.slice(),c))}function K(a,c){E(a,c,w(g,c%h.length))}function o(e,c,b,u){var l=f(e).data("inputmask").isRTL,n=O(e._valueGet(),l).split(""),o=p(c);if(l){var j=n.reverse();j.length=o;for(var m=0;m<o;m++){var k=(o-(m+1))%h.length;
- null==h[k].fn&&j[m]!=w(g,k)?(j.splice(m,0,w(g,k)),j.length=o):j[m]=j[m]||w(g,k)}n=j.reverse()}S(c,0,c.length);c.length=g.length;for(var d=j=-1,v,s=n.length,k=0==s?o:-1,m=0;m<s;m++)for(var q=d+1;q<o;q++)if(t(q)){var F=n[m];!1!==(v=C(q,F,c,!b))?(!0!==v&&(q=void 0!=v.pos?v.pos:q,F=void 0!=v.c?v.c:F),E(c,q,F),j=d=q):(K(c,q),F==A(q)&&(k=d=q));break}else if(K(c,q),j==d&&(j=q),d=q,n[m]==w(c,q))break;if(!1==a.greedy)for(m=O(c.join(""),l).split("");c.length!=m.length;)l?c.shift():c.pop();b&&B(e,c);return l?
- a.numericInput?""!=a.radixPoint&&-1!=f.inArray(a.radixPoint,c)&&!0!==u?f.inArray(a.radixPoint,c):x(c,o):x(c,k):x(c,j)}function V(a){return f.inputmask.escapeRegex.call(this,a)}function O(a,c){return c?a.replace(RegExp("^("+V(g.join(""))+")*"),""):a.replace(RegExp("("+V(g.join(""))+")*$"),"")}function T(a,c){o(a,c,!1);var b=c.slice(),g,l;if(f(a).data("inputmask").isRTL)for(l=0;l<=b.length-1;l++)if(g=l%h.length,h[g].optionality)if(!t(l)||!C(l,c[l],c,!0))b.splice(0,1);else break;else break;else for(l=
- b.length-1;0<=l;l--)if(g=l%h.length,h[g].optionality)if(!t(l)||!C(l,c[l],c,!0))b.pop();else break;else break;B(a,b)}function W(a,c){var b=a[0];if(h&&(!0===c||!a.hasClass("hasDatepicker"))){var u=g.slice();o(b,u);return f.map(u,function(a,c){return t(c)&&C(c,a,u,!0)?a:null}).join("")}return b._valueGet()}function n(e,c,b){var g=e.jquery&&0<e.length?e[0]:e;if("number"==typeof c)f(e).is(":visible")&&(b="number"==typeof b?b:c,!1==a.insertMode&&c==b&&b++,g.setSelectionRange?P?(setTimeout(function(){g.selectionStart=
- c;g.selectionEnd=P?c:b},10),L=c,I=b):(g.selectionStart=c,g.selectionEnd=b):g.createTextRange&&(e=g.createTextRange(),e.collapse(!0),e.moveEnd("character",b),e.moveStart("character",c),e.select()));else{if(!f(e).is(":visible"))return{begin:0,end:0};g.setSelectionRange?(c=X?g.selectionEnd:g.selectionStart,b=g.selectionEnd):document.selection&&document.selection.createRange&&(e=document.selection.createRange(),c=0-e.duplicate().moveStart("character",-1E5),b=c+e.text.length);return{begin:c,end:b}}}function Q(a){for(var c=
- !0,a=a._valueGet(),b=a.length,f=0;f<b;f++)if(t(f)&&a.charAt(f)==A(f)){c=!1;break}return c}function U(e){function c(a){a=f._data(a).events;f.each(a,function(a,d){f.each(d,function(a,d){if("inputmask"==d.namespace){var c=d.handler;d.handler=function(){return this.readOnly||this.disabled?!1:c.apply(this,arguments)}}})})}function b(a){var d;Object.getOwnPropertyDescriptor&&(d=Object.getOwnPropertyDescriptor(a,"value"));if(d&&d.get)a._valueGet||(a._valueGet=d.get,a._valueSet=d.set,Object.defineProperty(a,
- "value",{get:function(){var a=f(this),d=f(this).data("inputmask");return d&&d.autoUnmask?a.inputmask("unmaskedvalue"):this._valueGet()!=d._buffer.join("")?this._valueGet():""},set:function(a){this._valueSet(a);f(this).triggerHandler("setvalue.inputmask")}}));else if(document.__lookupGetter__&&a.__lookupGetter__("value"))a._valueGet||(a._valueGet=a.__lookupGetter__("value"),a._valueSet=a.__lookupSetter__("value"),a.__defineGetter__("value",function(){var a=f(this),d=f(this).data("inputmask");return d&&
- d.autoUnmask?a.inputmask("unmaskedvalue"):this._valueGet()!=d._buffer.join("")?this._valueGet():""}),a.__defineSetter__("value",function(a){this._valueSet(a);f(this).triggerHandler("setvalue.inputmask")}));else if(a._valueGet||(a._valueGet=function(){return this.value},a._valueSet=function(a){this.value=a}),!0!=f.fn.val.inputmaskpatch)f.fn.val=function(){if(arguments.length==0){var a=f(this);if(a.data("inputmask")){if(a.data("inputmask").autoUnmask)return a.inputmask("unmaskedvalue");var d=f.inputmask.val.apply(a);
- return d!=a.data("inputmask")._buffer.join("")?d:""}return f.inputmask.val.apply(a)}var c=arguments;return this.each(function(){var a=f(this),d=f.inputmask.val.apply(a,c);a.data("inputmask")&&a.triggerHandler("setvalue.inputmask");return d})},f.extend(f.fn.val,{inputmaskpatch:!0})}function u(d,c){if(a.numericInput&&""!=a.radixPoint){var b=d._valueGet().indexOf(a.radixPoint);y=c.begin<=b||c.end<=b||-1==b}}function l(a,c,b){for(;!t(a)&&0<=a-1;)a--;for(var f=a;f<c&&f<p(d);f++)if(t(f)){K(d,f);var e=x(d,
- f),i=w(d,e);if(i!=A(e))if(e<p(d)&&!1!==C(f,i,d,!0)&&h[f%h.length].def==h[e%h.length].def)E(d,f,w(d,e)),K(d,e);else{if(t(f))break}else if(void 0==b)break}else K(d,f);void 0!=b&&E(d,y?c:M(d,c),b);d=O(d.join(""),y).split("");0==d.length&&(d=g.slice());return a}function s(a,c,b,f){for(;a<=c&&a<p(d);a++)if(t(a)){var e=w(d,a);E(d,a,b);if(e!=A(a))if(b=x(d,a),b<p(d))if(!1!==C(b,e,d,!0)&&h[a%h.length].def==h[b%h.length].def)b=e;else if(t(b))break;else b=e;else break;else if(!0!==f)break}else K(d,a);f=d.length;
- d=O(d.join(""),y).split("");0==d.length&&(d=g.slice());return c-(f-d.length)}function H(c){q=!1;var b=this,e=c.keyCode,h=n(b);u(b,h);if(e==a.keyCode.BACKSPACE||e==a.keyCode.DELETE||Y&&127==e){var r=p(d);if(0==h.begin&&h.end==r)d=g.slice(),B(b,d),n(b,o(b,d,!1));else if(1<h.end-h.begin||1==h.end-h.begin&&a.insertMode)S(d,h.begin,h.end),B(b,d,y?o(b,d,!1):h.begin);else{var i=h.begin;e==a.keyCode.DELETE?(i<D&&(i=D),i<r&&(a.numericInput&&""!=a.radixPoint&&d[i]==a.radixPoint?(i=d.length-1==i?i:x(d,i),i=
- l(i,r)):y?(i=s(D,i,A(i),!0),i=x(d,i)):i=l(i,r),B(b,d,i))):e==a.keyCode.BACKSPACE&&i>D&&(i-=1,a.numericInput&&""!=a.radixPoint&&d[i]==a.radixPoint?(i=s(D,d.length-1==i?i:i-1,A(i),!0),i++):y?(i=s(D,i,A(i),!0),i=d[i+1]==a.radixPoint?i+1:x(d,i)):i=l(i,r),B(b,d,i))}b._valueGet()==g.join("")&&f(b).trigger("cleared");c.preventDefault()}else e==a.keyCode.END||e==a.keyCode.PAGE_DOWN?setTimeout(function(){var e=o(b,d,!1,!0);!a.insertMode&&(e==p(d)&&!c.shiftKey)&&e--;n(b,c.shiftKey?h.begin:e,e)},0):e==a.keyCode.HOME||
- e==a.keyCode.PAGE_UP?n(b,0,c.shiftKey?h.begin:0):e==a.keyCode.ESCAPE?(b._valueSet(z),n(b,0,o(b,d))):e==a.keyCode.INSERT?(a.insertMode=!a.insertMode,n(b,!a.insertMode&&h.begin==p(d)?h.begin-1:h.begin)):c.ctrlKey&&88==e?setTimeout(function(){n(b,o(b,d,!0))},0):a.insertMode||(e==a.keyCode.RIGHT?(r=h.begin==h.end?h.end+1:h.end,r=r<p(d)?r:h.end,n(b,c.shiftKey?h.begin:r,c.shiftKey?r+1:r)):e==a.keyCode.LEFT&&(r=h.begin-1,r=0<r?r:0,n(b,r,c.shiftKey?h.end:r)));a.onKeyDown.call(this,c,d,a);F=-1!=f.inArray(e,
- a.ignorables)}function j(b){if(q)return!1;q=!0;var c=this,e=f(c),b=b||window.event,g=b.which||b.charCode||b.keyCode,h=String.fromCharCode(g);if(a.numericInput&&h==a.radixPoint){var i=c._valueGet().indexOf(a.radixPoint);n(c,x(d,-1!=i?i:p(d)))}if(b.ctrlKey||b.altKey||b.metaKey||F)return!0;if(g){var k=n(c),m=p(d),g=!0;S(d,k.begin,k.end);if(y){var i=M(d,k.end),j;if(!1!==(j=C(i==m||w(d,i)==a.radixPoint?M(d,i):i,h,d,!1))){!0!==j&&(i=void 0!=j.pos?j.pos:i,h=void 0!=j.c?j.c:h);m=p(d);j=D;if(!0==a.insertMode){if(!0==
- a.greedy)for(var o=d.slice();w(o,j,!0)!=A(j)&&j<=i;)j=j==m?m+1:x(d,j);j<=i&&(a.greedy||d.length<m)?(d[D]!=A(D)&&d.length<m&&(o=R(d,-1,y),0!=k.end&&(i+=o),m=d.length),l(j,i,h)):g=!1}else E(d,i,h);g&&(B(c,d,a.numericInput?i+1:i),setTimeout(function(){Q(c)&&e.trigger("complete")},0))}}else if(i=x(d,k.begin-1),R(d,i,y),!1!==(j=C(i,h,d,!1))){!0!==j&&(i=void 0!=j.pos?j.pos:i,h=void 0!=j.c?j.c:h);if(!0==a.insertMode){k=p(d);for(o=d.slice();w(o,k,!0)!=A(k)&&k>=i;)k=0==k?-1:M(d,k);k>=i?s(i,d.length,h):g=!1}else E(d,
- i,h);g&&(h=x(d,i),B(c,d,h),setTimeout(function(){Q(c)&&e.trigger("complete")},0))}P&&n(c,L,I);b.preventDefault()}}function m(b){var c=f(this),e=b.keyCode;a.onKeyUp.call(this,b,d,a);e==a.keyCode.TAB&&(c.hasClass("focus.inputmask")&&0==this._valueGet().length&&a.showMaskOnFocus)&&(d=g.slice(),B(this,d),y||n(this,0),z=this._valueGet())}var k=f(e);if(k.is(":input")){var d=g.slice();a.greedy=a.greedy?a.greedy:0==a.repeat;var v=k.prop("maxLength");p(d)>v&&-1<v&&(v<g.length&&(g.length=v),!1==a.greedy&&(a.repeat=
- Math.round(v/g.length)),k.prop("maxLength",2*p(d)));k.data("inputmask",{tests:h,_buffer:g,greedy:a.greedy,repeat:a.repeat,autoUnmask:a.autoUnmask,definitions:a.definitions,isRTL:!1});b(e);var z=e._valueGet(),q=!1,F=!1,G=-1,D=x(d,-1);M(d,p(d));var y=!1;if("rtl"==e.dir||a.numericInput)e.dir="ltr",k.css("text-align","right"),k.removeAttr("dir"),v=k.data("inputmask"),v.isRTL=!0,k.data("inputmask",v),y=!0;k.unbind(".inputmask");k.removeClass("focus.inputmask");k.bind("mouseenter.inputmask",function(){if(!f(this).hasClass("focus.inputmask")&&
- a.showMaskOnHover){var b=this._valueGet().length;b<d.length&&(0==b&&(d=g.slice()),B(this,d))}}).bind("blur.inputmask",function(){var b=f(this),c=this._valueGet();b.removeClass("focus.inputmask");c!=z&&b.change();a.clearMaskOnLostFocus&&""!=c&&(c==g.join("")?this._valueSet(""):T(this,d));Q(this)||(b.trigger("incomplete"),a.clearIncomplete&&(a.clearMaskOnLostFocus?this._valueSet(""):(d=g.slice(),B(this,d))))}).bind("focus.inputmask",function(){var b=f(this),c=this._valueGet();if(a.showMaskOnFocus&&
- !b.hasClass("focus.inputmask")&&(!a.showMaskOnHover||a.showMaskOnHover&&""==c))c=c.length,c<d.length&&(0==c&&(d=g.slice()),n(this,o(this,d,!0)));b.addClass("focus.inputmask");z=this._valueGet()}).bind("mouseleave.inputmask",function(){var b=f(this);a.clearMaskOnLostFocus&&(b.hasClass("focus.inputmask")||(this._valueGet()==g.join("")||""==this._valueGet()?this._valueSet(""):T(this,d)))}).bind("click.inputmask",function(){var a=this;setTimeout(function(){var b=n(a);if(b.begin==b.end){var c=b.begin;
- G=o(a,d,!1);u(a,b);y?n(a,c>G&&(!1!==C(c,d[c],d,!0)||!t(c))?c:G):n(a,c<G&&(!1!==C(c,d[c],d,!0)||!t(c))?c:G)}},0)}).bind("dblclick.inputmask",function(){var a=this;setTimeout(function(){n(a,0,G)},0)}).bind("keydown.inputmask",H).bind("keypress.inputmask",j).bind("keyup.inputmask",m).bind(Z+".inputmask dragdrop.inputmask drop.inputmask",function(){var a=this;setTimeout(function(){n(a,o(a,d,!0))},0)}).bind("setvalue.inputmask",function(){z=this._valueGet();o(this,d,!0);this._valueGet()==g.join("")&&this._valueSet("")}).bind("complete.inputmask",
- a.oncomplete).bind("incomplete.inputmask",a.onincomplete).bind("cleared.inputmask",a.oncleared);var G=o(e,d,!0),J;try{J=document.activeElement}catch(N){}J===e?(k.addClass("focus.inputmask"),n(e,G)):a.clearMaskOnLostFocus&&(e._valueGet()==g.join("")?e._valueSet(""):T(e,d));c(e)}}var a=f.extend(!0,{},f.inputmask.defaults,H),Z=function(a){var c=document.createElement("input"),a="on"+a,b=a in c;b||(c.setAttribute(a,"return;"),b="function"==typeof c[a]);return b}("paste")?"paste":"input",Y=null!=navigator.userAgent.match(/iphone/i),
- P=null!=navigator.userAgent.match(/android.*safari.*/i),X;if(P){var $=navigator.userAgent.match(/safari.*/i);X=533>=parseInt(RegExp(/[0-9]+/).exec($))}if("string"==typeof s)switch(s){case "mask":z(a.alias,H);var g=J(),h=N();return this.each(function(){U(this)});case "unmaskedvalue":return h=this.data("inputmask").tests,g=this.data("inputmask")._buffer,a.greedy=this.data("inputmask").greedy,a.repeat=this.data("inputmask").repeat,a.definitions=this.data("inputmask").definitions,W(this);case "remove":return this.each(function(){var e=
- f(this),c=this;setTimeout(function(){if(e.data("inputmask")){h=e.data("inputmask").tests;g=e.data("inputmask")._buffer;a.greedy=e.data("inputmask").greedy;a.repeat=e.data("inputmask").repeat;a.definitions=e.data("inputmask").definitions;c._valueSet(W(e,!0));e.removeData("inputmask");e.unbind(".inputmask");e.removeClass("focus.inputmask");var b;Object.getOwnPropertyDescriptor&&(b=Object.getOwnPropertyDescriptor(c,"value"));b&&b.get?c._valueGet&&Object.defineProperty(c,"value",{get:c._valueGet,set:c._valueSet}):
- document.__lookupGetter__&&c.__lookupGetter__("value")&&c._valueGet&&(c.__defineGetter__("value",c._valueGet),c.__defineSetter__("value",c._valueSet));delete c._valueGet;delete c._valueSet}},0)});case "getemptymask":return this.data("inputmask")?this.data("inputmask")._buffer.join(""):"";case "hasMaskedValue":return this.data("inputmask")?!this.data("inputmask").autoUnmask:!1;case "isComplete":return h=this.data("inputmask").tests,g=this.data("inputmask")._buffer,a.greedy=this.data("inputmask").greedy,
- a.repeat=this.data("inputmask").repeat,a.definitions=this.data("inputmask").definitions,Q(this[0]);default:return z(s,H)||(a.mask=s),g=J(),h=N(),this.each(function(){U(this)})}else{if("object"==typeof s)return a=f.extend(!0,{},f.inputmask.defaults,s),z(a.alias,s),g=J(),h=N(),this.each(function(){U(this)});if(void 0==s)return this.each(function(){var e=f(this).attr("data-inputmask");if(e&&""!=e)try{var e=e.replace(RegExp("'","g"),'"'),c=f.parseJSON("{"+e+"}");a=f.extend(!0,{},f.inputmask.defaults,
- c);z(a.alias,c);a.alias=void 0;f(this).inputmask(a)}catch(b){}})}return this})})(jQuery);
|