A função que desenvolvi tem com objetivo facilitar a vida de quem for validar extensões de arquivos com javascript antes de enviar ao servidor.

  • Seu uso é fácil já que ela só retorna um valor, sendo este true ou false.
  • Aceita varias extensões para um mesmo campo
  • Pode ser aplicada a vários campos usando um array de uma TagName ou ClassName
  • Usa uma expressão regular para validar a extensão
  • Pode ser usada no onblur do campo

Codigo da função

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
function LexExt(dom,ext){
  var campo=dom.value;
  var exts=ext.split(',');
  if(ext.length>=1){
    for(i=0;i<exts.length;i++){
      var reg=new RegExp("."+exts[i]+"$");
      if(campo.match(reg)==null){
        if(i==exts.length-1){
          return false;
        }
      }else{
        return true;
      }
    }
  }
}

Chamando a função

O primeiro parâmetro é o campo que receberá a validação
O segundo parâmetro são as extensões (sem o ponto)
Ex: LexExt($(’my’),’jpg,gif,png,html,css,js’);

Exemplos práticos

// usando pelo id do campo
LexExt(document.getElementById(‘my’),’doc,docx’);
 
// usando atraves de um array
var dom = document.getElementsByClassName(‘file’);
for(var i=0;i<dom.length;i++){
LexExt(dom[i],’jpg,gif’);
}