/* ************************************************************************************************ Função: formatar(campo,mascara) Autor: Alex Nunes Wzorek Data: 26/08/2008 Descrição: Função utilizada para formatar máscaras genéricas em campos text @ - numeros # - demais caracteres OnKeyUp="formatar(this,'###-@@/@@@@')" **************************************************************************************************/ function formatar(campo, mask){ if(navigator.appName == 'Konqueror') { if(window.event && window.event.toString() == "[object KeyboardEvent]"){ return true; } } //verifica se mascara é para somente números if(mask == '@'){ campo.value = campo.value.replace(/\D/g,""); return; /*if(!parseInt(campo.value)) campo.value = ''; else campo.value = parseInt(campo.value); return '';*/ } if(campo.value.length > mask.length){ campo.value = campo.value.substring(0,mask.length); } else { var i = campo.value.length -1; var texto = mask.substring(i); if(texto.substring(0,1) != '#'){ for(j=i;j<=mask.length;j++) { if(mask.substring(j,j+1) == '@'){ var valida = campo.value.substring(j,j+1); if((valida != 0 && valida != 1 && valida != 2 && valida != 3 && valida != 4 && valida != 5 && valida != 6 && valida != 7 && valida != 8 && valida != 9) || valida==" ") campo.value = campo.value.substr(0,i); break; } else { if(mask.substring(j,j+1) == '#' || mask.substring(j,j+1) == campo.value.substring(j)) break; var saida = '#'; if (mask.substring(j,j+1) != saida) { campo.value = campo.value.substring(0,j) + mask.substring(j,j+1) + campo.value.substring(j); } } } } } } /* ************************************************************************************************ Função: revalidar(campo,mascara,validacao) Autor: Alex Nunes Wzorek Data: 26/08/2008 Descrição: Função utilizada para atribuir a máscara e validar campos específicos. Chama a função formatar(), para evitar erros no caso do usuário colar um valor (ctrl+v) para o campo text. OnBlur="formatar(this,'@@@.@@@.@@@-@@','cpf')" **************************************************************************************************/ function revalidar(campo,mask,validacao){ campo.style.background = "#FFFFFF"; if(mask != ''){ var aux = campo.value; campo.value = ''; if(mask == '@'){ // Alterado por Ricardo - 19/09/2008 //if(parseInt(aux)) // campo.value = parseInt(aux); campo.value = aux.replace(/\D/g,""); } else{ for(i=0;i 31 || dia == 0) { campo.value = ''; campo.style.background = "#FFFFC0"; return false; } if (mes < 1 || mes > 12) { campo.value = ''; campo.style.background = "#FFFFC0"; return false; } var date = new Date(); if(ano < (date.getFullYear() - 15) || ano > (date.getFullYear() +15)){ campo.style.background = "#FFFFC0"; return false; } if(mes == 1 || mes == 3 || mes == 5 || mes == 7 || mes == 8 || mes == 10 || mes == 12){ if (dia > 31){ campo.style.background = "#FFFFC0"; campo.value = ''; return false; } } if(mes == 4 || mes == 6 || mes == 9 || mes == 11){ if (dia > 30){ campo.style.background = "#FFFFC0"; campo.value = ''; return false; } } //verifica bisexto if(mes == 2 && ( dia > 29 || ( dia > 28 && (parseInt(ano / 4) != ano / 4)))){ campo.style.background = "#FFFFC0"; campo.value = ''; return false; } if(mes > 12 || mes < 1){ campo.style.background = "#FFFFC0"; campo.value = ''; return false; } break; case 'hora': var tam = campo.length; var hora = campo.value.substr(0,2); var min = campo.value.substr (3,2); var array_campo = campo.value.split(':'); if (array_campo.length < 2) { campo.value = ''; campo.style.background = "#FFFFC0"; return false; } else { if (array_campo[0].length < 2 || array_campo[1].length < 2) { campo.value = ''; campo.style.background = "#FFFFC0"; return false; } } if (hora > 23 || hora < 0 ) { campo.value = ''; campo.style.background = "#FFFFC0"; return false; } if (min < 0 || min > 59) { campo.value = ''; campo.style.background = "#FFFFC0"; return false; } break; case 'tempo': var tam = campo.length; var hora = campo.value.substr(0,2); var min = campo.value.substr (3,2); var array_campo = campo.value.split(':'); if (array_campo.length < 2) { campo.value = ''; campo.style.background = "#FFFFC0"; return false; } else { if (array_campo[0].length < 2 || array_campo[1].length < 2) { campo.value = ''; campo.style.background = "#FFFFC0"; return false; } } if (min < 0 || min > 59) { campo.value = ''; campo.style.background = "#FFFFC0"; return false; } break; case 'mesAno': var tam = campo.length; var mes = campo.value.substr (0,2); var ano = campo.value.substr (3,4); var array_campo = campo.value.split('/'); if (array_campo.length < 2) { campo.value = ''; campo.style.background = "#FFFFC0"; return false; } else { if (array_campo[1].length < 4) { campo.value = ''; campo.style.background = "#FFFFC0"; return false; } } if (mes < 1 || mes > 12) { campo.value = ''; campo.style.background = "#FFFFC0"; return false; } var date = new Date(); if(ano < (date.getFullYear() - 15) || ano > (date.getFullYear() +15)){ campo.style.background = "#FFFFC0"; return false; } break; } campo.style.background = ""; return true; } /* ************************************************************************************************ Função: moeda(campo,casas) Autor: Alex Nunes Wzorek Data: 26/08/2008 Descrição: Função utilizada para formatar valores monetários com separador de milhar (.) e decimal (,). O segundo parametro é o número de casas decimais desejado OnKeyUp="moeda(this,2)" **************************************************************************************************/ function moeda(campo,casas){ if(navigator.appName == 'Konqueror') { if(window.event.toString() == "[object KeyboardEvent]"){ return true; } } var valida = campo.value.substring(campo.value.length-1); if((valida != 0 && valida != 1 && valida != 2 && valida != 3 && valida != 4 && valida != 5 && valida != 6 && valida != 7 && valida != 8 && valida != 9) || valida == ' '){ campo.value = campo.value.substr(0,campo.value.length-1); } campo.value = campo.value.replace('.','').replace(',','.'); if(parseFloat(campo.value) < 1){ campo.value = parseFloat(campo.value.replace('0.','')); } var zeros = ''; if(campo.value.length <= casas){ for(i=0;i (casas+4)){ var decimal = campo.value.substr(campo.value.length-(casas)); var inteiro = campo.value.substr(0,campo.value.length-casas).replace(/\./g,''); var milhar = ''; for(i=0;i= 0)){ milhar = inteiro.substr(inteiro.length-i,3) + '.' + milhar; } else{ milhar = inteiro.substr(0,(inteiro.length-(i+1))+4) + '.' + milhar; } } if(milhar != '') campo.value = milhar.substr(0,milhar.length-1) + ',' +decimal; } else{ campo.value = campo.value.substr(0,campo.value.length -casas).replace('.','') + ',' + campo.value.substr(campo.value.length -casas); } } } /* ************************************************************************************************ Função: revalidarMoeda(campo,casas) Autor: Alex Nunes Wzorek Data: 26/08/2008 Descrição: Função utilizada para formatar valores monetários com separador de milhar (.) e decimal (,). Chama a função moeda, para formatar valores que possam ter sido colados (ctrl+v) pelo usuario. OnBlur="moeda(this,2)" **************************************************************************************************/ function revalidarMoeda(campo,casas){ aux = campo.value; campo.value = ''; for(j=0;j= 3){ var decimal = campo.value.substr(campo.value.length); var inteiro = campo.value.substr(0,campo.value.length).replace(/\./g,''); var milhar = ''; for(i=0;i= 0)){ milhar = inteiro.substr(inteiro.length-i,3) + '.' + milhar; } else { milhar = inteiro.substr(0,(inteiro.length-(i+1))+4) + '.' + milhar; } } if(milhar != '') campo.value = milhar.substr(0,milhar.length-1) + decimal; } else { campo.value = campo.value.substr(0,campo.value.length).replace('.','') + campo.value.substr(campo.value.length); } } /** * Função: revalidarMilhar(campo) * Autor: Ricardo Andre Pikussa * Data: 26/08/2008 * Descrição: Função utilizada para formatar valores numerricos com separador de milhar (.). Chama a função milhar, para formatar valores que possam ter sido colados (ctrl+v) pelo usuario. * Chamada: OnBlur="revalidarMilhar(this);" */ function revalidarMilhar(campo){ aux = campo.value; campo.value = ''; for(j=0;j 0){ valor = parseFloat(valor); campo.value = valor.toFixed(casas); } }