17 jan 2010

Validar extensão de arquivo – jQuery

2 Comentários Desenvolvimento, Javascript, jQuery

Bom dia, postagem rápida por que estou meio ocupado mas agora pouco fiz algo que achei interessante postar pois não encontrei uma forma simples e funcional de validar a extensão do arquivo em um input type=”file”. Então ai vai:

if(formulario.nomedocampo.value)
{
     var arquivo = $('#nomedocampo').val().split(".")[1].toLowerCase();
     if(arquivo!="pdf"&&arquivo!="doc"&&arquivo!="docx")
     {
	alert("Tipo de arquivo inválido.\nSão aceitos somente arquivos dos tipos: PDF,DOC e DOCX.");
	return false;
      }
}

Onde:

if(formulario.nomedocampo.value)

Procura o nome do formulário.nome do campo. valor do campo. O campo indicado é o input type=”file” do formulario indicado. Claro que você poderia fazer essa busca através de jquery, mas como estou implementando em um arquivo de validação .js já existente, preferi manter o padrão.

     var arquivo = $('#nomedocampo').val().split(".")[1].toLowerCase();

Onde:
$(‘#nomedocampo’) : Seleciona o elemento com o id que você vai definir ao seu input type=”file” .
.val() : Pega o valor do elemento encontrado.
.split(“.”)[1] : Bem, como o valor do elemento vai ser o nome de seu arquivo.extensão, a função split do javascript vai procurar por esse “.” e criar um array de acordo com o número de pontos encontrados. Só para demostrar o exemplo, se o arquivo se chama “joão.doc”, na posição [0] teremos o “joão” e na posição [1] teremos o “doc”.
.toLowerCase() : Transforma o nome da extensão em minúsculo, só para padronizar mesmo…

     if(arquivo!="pdf"&&arquivo!="doc"&&arquivo!="docx")

Onde:
você irá fazer a validação normal da extensão do arquivo de acordo com o desejado.
Até mais…
Ahhhh claroooo que a função foi MARTELADA, podem melhorar ela ai por que com certeza eu vou melhorar depois… só postando pra moçada ter uma luz mesmo…

Artigos relacionados...

  1. jQuery Meio Mask – Máscara para input
  2. Conexão PHP/MySQL – Utilizando a função mysql_connect()
  3. Conexão com FTP externo – PHP
  4. Atualize seu navegador… e de seus visitantes!
Tags:
written by
Um certo alguém buscando mais conhecimento...

2 respostas to “Validar extensão de arquivo – jQuery”

  1. Validar extensão de arquivo – jQuery jan.17, 2010 in Desenvolvimento, Javascript, jQuery Bom dia, postagem rápida por que estou meio ocupado mas agora pouco fiz algo que achei interessante postar pois não encontrei uma forma simples e funcional de vaNo Gravatar disse:

    Olá amigo
    Não quero desmerecer o seu trabalho, longe disso, pois acho muito interessante as pessoas compartilharem o conhecimento através de blogs, porém preciso fazer uns comentários que acho que são importantes.

    Se o nome do arquivo for arq.ivo.doc, ele não realiza o upload.
    Se o arquivo for uma imagem e eu salvar com a extensão doc, ele passará no upload.

    O que acha do que falei?

    Abraço

  2. EderNo Gravatar disse:

    O amigo ai de cima tem razão na parte da extensão. Poderia resolver utilizando algo como:

    var arquivo = $(‘#nomedocampo’).val().split(‘.’);
    var extensao = arquivo[arquivo.length - 1].toLowerCase();

    E validar essa extensão.

    Agora a validação está correta, uma imagem não passaria.

    Abraço!

Faça um comentário! É importante saber sua opinião.