você está aqui: Home  → Arquivo de Mensagens

JavaScript - Validar extensão de arquivo

Colaboração: Matheus da Silva Rosa

Data de Publicação: 04 de agosto de 2010

Uma função muito útil para formulários de upload de arquivos.

Esta função javascript irá lhe ajudar a validar as extensões dos arquivos antes mesmo de enviá-los.

  /**
  * 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;
  }

Fonte: http://www.vivaolinux.com.br/script/Validar-extensao-de-arquivo/



Veja a relação completa dos artigos de Matheus da Silva Rosa

 

 

Opinião dos Leitores

Thiago Cesar Vieira
05 Ago 2010, 11:18
Gostei.

Só para reduzir um pouco...

...
if(extensoes[i] == ext){
return true;
}
}

return false;
}

Além disso, para listas costume usar um foreach, deixando o seu código mais legível:
for (item in lista) {
}
http://en.wikipedia.org/wiki/Foreach#JavaScript

Abraço!
Mauricio
04 Ago 2010, 20:01
Acredito que seja válido sim, pois um código desse pode ser facilmente convertido para qualquer outra linguagem de programação.

Acho que possui uma falha nessa linha:

for(var i = 0; i <= arquivo.length; i++){

na minha visão isso seria assim:

for(var i = 0; i < extensoes.length; i++){

pois dessa forma você percorreria todo o array de extensões válidas para comparar com a do arquivo.

Abraços!
Taf
04 Ago 2010, 10:12
Dicas deste tipo são pouco "validas" aqui no dl por se tratar de desenvolvimento web!
*Nome:
Email:
Me notifique sobre novos comentários nessa página
Oculte meu email
*Texto:
 
  Para publicar seu comentário, digite o código contido na imagem acima
 


Powered by Scriptsmill Comments Script