1/** 2 * jquery.meio.mask.js 3 * @author: fabiomcosta 4 * @version: 1.1.7 5 * 6 * Created by Fabio M. Costa on 2008-09-16. Please report any bug at http://www.meiocodigo.com 7 * 8 * Copyright (c) 2008 Fabio M. Costa http://www.meiocodigo.com 9 * 10 * The MIT License (http://www.opensource.org/licenses/mit-license.php) 11 * 12 * Permission is hereby granted, free of charge, to any person 13 * obtaining a copy of this software and associated documentation 14 * files (the "Software"), to deal in the Software without 15 * restriction, including without limitation the rights to use, 16 * copy, modify, merge, publish, distribute, sublicense, and/or sell 17 * copies of the Software, and to permit persons to whom the 18 * Software is furnished to do so, subject to the following 19 * conditions: 20 * 21 * The above copyright notice and this permission notice shall be 22 * included in all copies or substantial portions of the Software. 23 * 24 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 25 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 26 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 27 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 28 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 29 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 30 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 31 * OTHER DEALINGS IN THE SOFTWARE. 32 */(function(e){if(!e.browser){var t=function(e){e=e.toLowerCase();var t=/(chrome)[ \/]([\w.]+)/.exec(e)||/(webkit)[ \/]([\w.]+)/.exec(e)||/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(e)||/(msie) ([\w.]+)/.exec(e)||e.indexOf("compatible")<0&&/(mozilla)(?:.*? rv:([\w.]+)|)/.exec(e)||[];return t[2]||"0"};e.browser={mozilla:/mozilla/.test(navigator.userAgent.toLowerCase())&&!/webkit/.test(navigator.userAgent.toLowerCase()),webkit:/webkit/.test(navigator.userAgent.toLowerCase()),opera:/opera/.test(navigator.userAgent.toLowerCase()),msie:/msie/.test(navigator.userAgent.toLowerCase()),version:t(navigator.userAgent)}}var n=window.orientation!=null,r=e.browser.opera||e.browser.mozilla&&parseFloat(e.browser.version.substr(0,3))<1.9?"input":"paste",i=function(t){t=e.event.fix(t||window.event),t.type="paste";var n=t.target;setTimeout(function(){e.event.dispatch.call(n,t)},1)};e.event.special.paste={setup:function(){this.addEventListener?this.addEventListener(r,i,!1):this.attachEvent&&this.attachEvent("on"+r,i)},teardown:function(){this.removeEventListener?this.removeEventListener(r,i,!1):this.detachEvent&&this.detachEvent("on"+r,i)}},e.extend({mask:{rules:{z:/[a-z]/,Z:/[A-Z]/,a:/[a-zA-Z]/,"*":/[0-9a-zA-Z]/,"@":/[0-9a-zA-ZçÃáà ãâéèêÃìóòôõúùü]/},keyRepresentation:{8:"backspace",9:"tab",13:"enter",16:"shift",17:"control",18:"alt",27:"esc",33:"page up",34:"page down",35:"end",36:"home",37:"left",38:"up",39:"right",40:"down",45:"insert",46:"delete",116:"f5",123:"f12",224:"command"},iphoneKeyRepresentation:{10:"go",127:"delete"},signals:{"+":"","-":"-"},options:{attr:"alt",mask:null,type:"fixed",maxLength:-1,defaultValue:"",changeMaxLength:!0,signal:!1,textAlign:!0,selectCharsOnFocus:!0,autoTab:!0,setSize:!1,fixedChars:"[(),.:/ -]",onInvalid:function(){},onValid:function(){},onOverflow:function(){}},masks:{phone:{mask:"(99) 9999-9999"},"phone-us":{mask:"(999) 999-9999"},cpf:{mask:"999.999.999-99"},cnpj:{mask:"99.999.999/9999-99"},date:{mask:"39/19/9999"},"date-us":{mask:"19/39/9999"},cep:{mask:"99999-999"},time:{mask:"29:59"},cc:{mask:"9999 9999 9999 9999"},integer:{mask:"999.999.999.999",type:"reverse"},decimal:{mask:"99,999.999.999.999",type:"reverse",defaultValue:"000"},"decimal-us":{mask:"99.999,999,999,999",type:"reverse",defaultValue:"000"},"signed-decimal":{mask:"99,999.999.999.999",type:"reverse",defaultValue:"+000"},"signed-decimal-us":{mask:"99,999.999.999.999",type:"reverse",defaultValue:"+000"}},init:function(){if(!this.hasInit){var t=this,r,i=n?this.iphoneKeyRepresentation:this.keyRepresentation;this.ignore=!1;for(r=0;r<=9;r++)this.rules[r]=new RegExp("[0-"+r+"]");this.keyRep=i,this.ignoreKeys=[],e.each(i,function(e){t.ignoreKeys.push(parseInt(e,10))}),this.hasInit=!0}},set:function(t,n){var r=this,i=e(t),s="maxLength";return n=n||{},this.init(),i.each(function(){n.attr&&(r.options.attr=n.attr);var t=e(this),i=e.extend({},r.options),o=t.attr(i.attr),u="";u=typeof n=="string"?n:o!==""?o:null,u&&(i.mask=u),r.masks[u]&&(i=e.extend(i,r.masks[u])),typeof n=="object"&&n.constructor!=Array&&(i=e.extend(i,n)),e.metadata&&(i=e.extend(i,t.metadata()));if(i.mask!=null){i.mask+="",t.data("mask")&&r.unset(t);var a=i.defaultValue,f=i.type==="reverse",l=new RegExp(i.fixedChars,"g");i.maxLength===-1&&(i.maxLength=t.attr(s)),i=e.extend({},i,{fixedCharsReg:new RegExp(i.fixedChars),fixedCharsRegG:l,maskArray:i.mask.split(""),maskNonFixedCharsArray:i.mask.replace(l,"").split("")}),(i.type=="fixed"||f)&&i.setSize&&!t.attr("size")&&t.attr("size",i.mask.length),f&&i.textAlign&&t.css("text-align","right");if(this.value!==""||a!==""){var c=r.string(this.value!==""?this.value:a,i);this.defaultValue=c,t.val(c)}i.type=="infinite"&&(i.type="repeat"),t.data("mask",i),i.changeMaxLength&&t.removeAttr(s),t.bind("keydown.mask",{func:r._onKeyDown,thisObj:r},r._onMask).bind("keypress.mask",{func:r._onKeyPress,thisObj:r},r._onMask).bind("keyup.mask",{func:r._onKeyUp,thisObj:r},r._onMask).bind("paste.mask",{func:r._onPaste,thisObj:r},r._onMask).bind("focus.mask",r._onFocus).bind("blur.mask",r._onBlur).bind("change.mask",r._onChange)}})},unset:function(t){var n=e(t);return n.each(function(){var t=e(this);if(t.data("mask")){var n=t.data("mask").maxLength;
32n!=-1&&t.attr("maxLength",n),t.unbind(".mask").removeData("mask")}})},string:function(t,n){this.init();var r={};typeof t!="string"&&(t=String(t));switch(typeof n){case"string":this.masks[n]?r=e.extend(r,this.masks[n]):r.mask=n;break;case"object":r=n}r.fixedChars||(r.fixedChars=this.options.fixedChars);var i=new RegExp(r.fixedChars),s=new RegExp(r.fixedChars,"g");if(r.type==="reverse"&&r.defaultValue&&typeof this.signals[r.defaultValue.charAt(0)]!="undefined"){var o=t.charAt(0);r.signal=typeof this.signals[o]!="undefined"?this.signals[o]:this.signals[r.defaultValue.charAt(0)],r.defaultValue=r.defaultValue.substring(1)}return this.__maskArray(t.split(""),r.mask.replace(s,"").split(""),r.mask.split(""),r.type,r.maxLength,r.defaultValue,i,r.signal)},_onFocus:function(t){var n=e(this),r=n.data("mask");r.inputFocusValue=n.val(),r.changed=!1,r.selectCharsOnFocus&&n.select()},_onBlur:function(t){var n=e(this),r=n.data("mask");r.inputFocusValue!=n.val()&&!r.changed&&n.trigger("change")},_onChange:function(t){e(this).data("mask").changed=!0},_onMask:function(t){var n=t.data.thisObj,r={};return r._this=t.target,r.$this=e(r._this),r.data=r.$this.data("mask"),r.$this.attr("readonly")||!r.data?!0:(r[r.data.type]=!0,r.value=r.$this.val(),r.nKey=n.__getKeyNumber(t),r.range=n.__getRange(r._this),r.valueArray=r.value.split(""),t.data.func.call(n,t,r))},_onKeyDown:function(t,r){this.ignore=e.inArray(r.nKey,this.ignoreKeys)>-1||t.ctrlKey||t.metaKey||t.altKey;if(this.ignore){var i=this.keyRep[r.nKey];r.data.onValid.call(r._this,i||"",r.nKey)}return n?this._onKeyPress(t,r):!0},_onKeyUp:function(e,t){return t.nKey===9||t.nKey===16?!0:t.repeat?(this.__autoTab(t),!0):this._onPaste(e,t)},_onPaste:function(t,n){n.reverse&&this.__changeSignal(t.type,n);var r=this.__maskArray(n.valueArray,n.data.maskNonFixedCharsArray,n.data.maskArray,n.data.type,n.data.maxLength,n.data.defaultValue,n.data.fixedCharsReg,n.data.signal);return n.$this.val(r),!n.reverse&&n.data.defaultValue.length&&n.range.start===n.range.end&&this.__setRange(n._this,n.range.start,n.range.end),(e.browser.msie||e.browser.safari)&&!n.reverse&&this.__setRange(n._this,n.range.start,n.range.end),this.ignore?!0:(this.__autoTab(n),!0)},_onKeyPress:function(e,t){if(this.ignore)return!0;t.reverse&&this.__changeSignal(e.type,t);var n=String.fromCharCode(t.nKey),r=t.range.start,i=t.value,s=t.data.maskArray;if(t.reverse){var o=i.substr(0,r),u=i.substr(t.range.end,i.length);i=o+n+u,t.data.signal&&r-t.data.signal.length>0&&(r-=t.data.signal.length)}var a=i.replace(t.data.fixedCharsRegG,"").split(""),f=this.__extraPositionsTill(r,s,t.data.fixedCharsReg);t.rsEp=r+f,t.repeat&&(t.rsEp=0);if(!this.rules[s[t.rsEp]]||t.data.maxLength!=-1&&a.length>=t.data.maxLength&&t.repeat)return t.data.onOverflow.call(t._this,n,t.nKey),!1;if(!this.rules[s[t.rsEp]].test(n))return t.data.onInvalid.call(t._this,n,t.nKey),!1;t.data.onValid.call(t._this,n,t.nKey);var l=this.__maskArray(a,t.data.maskNonFixedCharsArray,s,t.data.type,t.data.maxLength,t.data.defaultValue,t.data.fixedCharsReg,t.data.signal,f);return t.repeat||t.$this.val(l),t.reverse?this._keyPressReverse(e,t):t.fixed?this._keyPressFixed(e,t):!0},_keyPressFixed:function(e,t){return t.range.start==t.range.end?(t.rsEp===0&&t.value.length===0||t.rsEp<t.value.length)&&this.__setRange(t._this,t.rsEp,t.rsEp+1):this.__setRange(t._this,t.range.start,t.range.end),!0},_keyPressReverse:function(t,n){return e.browser.msie&&(n.range.start===0&&n.range.end===0||n.range.start!=n.range.end)&&this.__setRange(n._this,n.value.length),!1},__autoTab:function(e){if(e.data.autoTab&&(e.$this.val().length>=e.data.maskArray.length&&!e.repeat||e.data.maxLength!=-1&&e.valueArray.length>=e.data.maxLength&&e.repeat)){var t=this.__getNextInput(e._this,e.data.autoTab);t&&(e.$this.trigger("blur"),t.focus().select())}},__changeSignal:function(e,t){if(t.data.signal!==!1){var n=e==="paste"?t.value.charAt(0):String.fromCharCode(t.nKey);this.signals&&typeof this.signals[n]!="undefined"&&(t.data.signal=this.signals[n])}},__getKeyNumber:function(e){return e.charCode||e.keyCode||e.which},__maskArray:function(e,t,n,r,i,s,o,u,a){r==="reverse"&&e.reverse(),e=this.__removeInvalidChars(e,t,r==="repeat"||r==="infinite"),s&&(e=this.__applyDefaultValue.call(e,s)),e=this.__applyMask(e,n,a,o);switch(r){case"reverse":return e.reverse(),(u||"")+e.join("").substring(e.length-n.length);case"infinite":case"repeat":var f=e.join("");return i!==-1&&e.length>=i?f.substring(0,i):f;default:return e.join("").substring(0,n.length)}return""},__applyDefaultValue:function(e){var t=e.length,n=this.length,r;for(r=n-1;r>=0;r--){if(this[r]!=e.charAt(0))break;this.pop()}for(r=0;r<t;r++)this[r]||(this[r]=e.charAt(r));return this},__removeInvalidChars:function(e,t,n){for(var r=0,i=0;r<e.length;r++)t[i]&&this.rules[t[i]]&&!this.rules[t[i]].test(e[r])&&(e.splice(r,1),n||i--,r--),n||i++;return e},__applyMask:function(e,t,n,r){typeof n=="undefined"&&(n=0);for(var i=0;i<e.length+n;i++)t[i]&&r.test(t[i])&&e.splice(i,0,t[i]);return e},__extraPositionsTill:function(e,t,n){var r=0;while(n.test(t[e++]))r++;return r},__getNextInput:function(t,n){var r=t.form;if(r==null)return null;var i=r.elements,s=e.inArray(t,i)+1,o=i.length,u=null,a;for(a=s;a<o;a++){u=e(i[a]);if(this.__isNextInput(u,n))return u}var f=document.forms,l=e.inArray(t.form,f)+1,c,h,p=f.length;for(c=l;c<p;c++){h=f[c].elements,o=h.length;for(a=0;a<o;a++){u=e(h[a]);if(this.__isNextInput(u,n))return u}}return null},__isNextInput:function(e,t){var n=e.get(0);return n&&(n.offsetWidth>0||n.offsetHeight>0)&&n.nodeName!="FIELDSET"&&(t===!0||typeof t=="string"&&e.is(t))},__setRange:function(e,t,n){typeof n=="undefined"&&(n=t);if(e.setSelectionRange)e.setSelectionRange(t,n);else{var r=e.createTextRange();r.collapse(),r.moveStart("character",t),r.moveEnd("character",n-t),r.select()}},__getRange:function(t){if(!e.browser.msie)return{start:t.selectionStart,end:t.selectionEnd};var n={start:0,end:0},r=document.selection.createRange();return n.start=0-r.duplicate().moveStart("character",-1e5),n.end=n.start+r.text.length,n},unmaskedVal:function(t){return e(t).val().replace(e.mask.fixedCharsRegG,"")}}}),e.fn.extend({setMask:function(t){return e.mask.set(this,t)},unsetMask:function(){return e.mask.unset(this)},unmaskedVal:function(){return e.mask.unmaskedVal(this[0])}})})(jQuery);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.