Pular para o conteúdo

Validar extensão de arquivo

Pequena função javascript para validar a extensão do arquivo.
Matheus matheusrosa
Hits: 20.630 Categoria: Javascript Subcategoria: Formulário
  • Download
  • Nova versão
  • Indicar
  • Denunciar
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Descrição

Pequena função javascript para validar a extensão do arquivo.
Download validaFormato.js Enviar nova versão
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Versões atualizadas deste script

Esconder código-fonte

/**
* Autor: Matheus Rosa <matheus.sys@gmail.com>
* Data: 21/07/2010
* Descrição: Valida um arquivo através da extensão
*/

function validoFormato(arquivo, tipo){
    var extensoes, ext, valido;
        extensoes = new Array('.odt','.pdf','.doc');
    
    ext = arquivo.substring(arquivo.lastIndexOf(".")).toLowerCase();
    valido = false;
    
    for(var i = 0; i <= arquivo.length; i++){
        if(extensoes[i] == ext){
            valido = true;
            break;
        }
    }
     
    if(valido){
        return true;
    }

  return false;
}
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Saudação durante o dia

Máscara JavaScript para Campos de Telefone/Celular e CEP

Selecionar todos checkbox

Limitar o número de caracteres de um campo

Validação de CPF e CNPJ no mesmo campo em javascript

#1 Comentário enviado por andre227 em 29/07/2010 - 16:26h
Bom código, parabéns! Só não entendi esse argumento tipo aí da função.
#2 Comentário enviado por matheusrosa em 29/07/2010 - 16:55h
Obrigado! Na verdade esse argumento "tipo" era pra uma outra coisa que eu estava testando e acabei de esquecendo de remover, hehehe.

[]s
#3 Comentário enviado por piccininsouza em 04/08/2010 - 11:41h
Bacana esse código!! Mas aonde eu coloco a função dentro do HTML??
Valeus!!
#5 Comentário enviado por thadeudepaula em 05/08/2010 - 00:18h
Erro de lógica: você fez o length no "for" sobre a variável "arquivo" em vez de em "extensoes". Sempre vai funcionar por que o nome do arquivo, com a extensão, sempre precisa ser maior que 3 caracteres. Mas se seu array de extensões fosse maior teria um grande problema... ;)

Poderia ser mais maleável e também utilizar expressão regular:

// @param file - nome do arquivo
// @param types - array contendo todas as possíveis extensões
// @return - boleano TRUE ou FALSE
function validoFormato(file,types) {
// Se "types" for string, transforma em array
var types = typeof(types) == "string" ? [types] : types,
fileExtension = file.replace(/.*\.([^.]+)$/,"$1").toLowerCase(); // Pega extensão com RegExp
for (var e in types) if (types[e].toLowerCase() == fileExtension) return true;
return false;
}

Exemplos de uso:

// Retorna false
validoFormato("documento.pdf","txt");

// Retorna true
validoFormato("documento.txt","txt");

// Retorna false
validoFormato("documento.pdf",["txt","odt","sxw"]);

// Retorna true
validoFormato("documento.odt",["txt","odt","sxw"]);

Contribuir com comentário

Entre na sua conta para comentar.