// validações
/////////////////////////////////////////////////////////////////////////////////*/

isArray = function ( value ) { if ( value != null && typeof( value ) == "object") { return( value.constructor.toString().indexOf( "Array" ) != -1 ); } else { return false; } };
String.prototype.isEmpty = function () { return( this == null || this.trim() == "" ) };
String.prototype.trim = function () { return ( this.replace( /^(\s*)/, "" ).replace( /(\s*$)/, "" ) ); };
String.prototype.isCep = function () { return ( ( this.length == 8 || this.length == 9 ) && ( ( /[0-9]{8}/ ).test( this ) || ( /[0-9]{5}-[0-9]{3}/ ).test( this ) ) ); };
String.prototype.isMail = function () { return ( /^[a-zA-Z0-9]{1}[\w\.\-]{2,63}@[a-zA-Z0-9]{1}[\w\.\-]{2,63}\.[a-zA-Z]{2,4}$/ ).test( this ); };
String.prototype.isDate = function () { var aTmp, iDay, iMonth, iYear, aDays = [ 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 ]; if ( /^(\d{1,2})[/-](\d{1,2})[/-](\d{4})$/.test(this) ) { aTmp = ( this.indexOf( "/" ) != -1 ) ? this.split( "/" ) : aTmp = this.split( "-" ); iYear = Number( aTmp[ 2 ] ); iMonth = Number( aTmp[ 1 ] ); iDay = Number( aTmp[ 0 ] ); if ( ( ( iYear % 4 == 0 ) && iYear % 100 != 0 ) || iYear % 400 == 0 ) { aDays[1] = 29; } return ( iYear > 1900 && iYear <= 2100 && iMonth > 0 && iMonth <= 12 && iDay > 0 && iDay <= aDays[ iMonth - 1 ] ); } else { return false; } };
String.prototype.isCnpj = function () { if ( !( /^\$?(?:\d+|\d{1,3}(?:.\d{3})*)(?:\/\d{4}\-\d{1,2}){0,1}$/ ).test( this ) ) { return false; } value = this.replace(/ /g,"").replace(/\./g,"").replace(/\//g,"").replace(/-/g,"").replace(/,/g,"").replace(/\\/g,""); if ( value.length == 14 ) { var iFator = 6; var iVerificador = Array( 0, 0 ); for ( z = 0; z < 13; z++ ) { if ( z > 0 ) { iVerificador[ 0 ] += Number( value.substring( z - 1, z ) ) * iFator; } iVerificador[ 1 ] += Number( value.substring( z, z + 1 ) ) * iFator; iFator --; if ( iFator == 1 ) iFator = 9; } for ( z = 0; z < iVerificador.length; z++ ) { iVerificador[ z ] = ( iVerificador[ z ] % 11 < 2 ) ? 0 : 11 - ( iVerificador[ z ] % 11 ); } return ( Number( value.substring( 12, 13 ) ) == iVerificador[0] && Number( value.substring( 13, 14 ) ) == iVerificador[1] ); } else { return false; } };
String.prototype.isInt = function () { return ( /(^-?\d\d*$)/ ).test( this ); };
String.prototype.isUrl = function () { return ( /^(ht|f)tp\:\/\/[a-zA-Z0-9]{1}[\w\.\-]{2,63}\.[a-zA-Z]{2,4}/ ).test( this ) ; };
String.prototype.age = function () { var aTmp, iDay, iMonth, iYear, aDays = [ 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 ]; if ( /^(\d{1,2})[/-](\d{1,2})[/-](\d{4})$/.test(this) ) { aTmp = ( this.indexOf( "/" ) != -1 ) ? this.split( "/" ) : aTmp = this.split( "-" ); iYear = Number( aTmp[ 2 ] ); iMonth = Number( aTmp[ 1 ] ); iDay = Number( aTmp[ 0 ] ); if ( ( ( iYear % 4 == 0 ) && iYear % 100 != 0 ) || iYear % 400 == 0 ) aDays[1] = 29; if ( iYear > 1900 && iYear <= 2100 && iMonth > 0 && iMonth <= 12 && iDay > 0 && iDay <= aDays[ iMonth - 1 ] ) { today = new Date(); age = (today.getYear() > 1000) ? today.getYear() - iYear : today.getYear() + 1900 - iYear; if ( ((today.getMonth()+1) < iMonth) || ((today.getMonth()+1) == iMonth && today.getUTCDate() > iDay)) age--; return age; } else false; } else return false; };
String.prototype.isMoeda = function() { return( ( /^\$?(?:\d+|\d{1,3}(?:.\d{3})*)(?:\,\d{1,2}){0,1}$/ ).test( this ) ); };
String.prototype.isCpf = function () { if ( !( /^\$?(?:\d+|\d{1,3}(?:.\d{3})*)(?:\-\d{1,2}){0,1}$/ ).test( this ) ) { return false; } value = this.replace(/ /g,"").replace(/\./g,"").replace(/\//g,"").replace(/-/g,"").replace(/,/g,"").replace(/\\/g,""); if ( value != "00000000000" && value != "11111111111" && value != "22222222222" && value != "33333333333" && value != "44444444444" && value != "55555555555" && value != "66666666666" && value != "77777777777" && value != "88888888888" && value != "99999999999" && value.length == 11 ) { var iFator = 11; var iVerificador = Array( 0, 0 ); for ( z = 0; z < 10; z++ ) { if ( z > 0 ){ iVerificador[ 0 ] += Number( value.substring( z - 1, z ) ) * iFator; } iVerificador[ 1 ] += Number( value.substring( z, z + 1 ) ) * iFator; iFator --; } for ( z = 0; z < iVerificador.length; z++ ) { iVerificador[ z ] = ( iVerificador[ z ] % 11 < 2 ) ? 0 : 11 - ( iVerificador[ z ] % 11 ); } return ( Number( value.substring( 9, 10 ) ) == iVerificador[0] && Number( value.substring( 10, 11 ) ) == iVerificador[1] ); } else { return false; } };
String.prototype.isFone = function () { return ( ( this.length >= 6 || this.length <= 12 ) && ( ( /[0-9]{2,3} [0-9]{2,4} [0-9]{4}/ ).test( this ) || ( /\([0-9]{2,3}\) [0-9]{2,4} [0-9]{4}/ ).test( this ) || ( /[0-9]{2,3} [0-9]{2,4}-[0-9]{4}/ ).test( this ) || ( /\([0-9]{2,3}\) [0-9]{2,4}-[0-9]{4}/ ).test( this ) || ( /[0-9]{2,3} [0-9]{6,8}/ ).test( this ) ) ); };