Search code examples
javascriptjqueryfile-uploadfile-type

How to have jQuery restrict file types on upload?


I would like to have jQuery limit a file upload field to only jpg/jpeg, png, and gif. I am doing backend checking with PHP already. I am running my submit button through a JavaScript function already so I really just need to know how to check for the file types before submit or alert.


Solution

  • You can get the value of a file field just the same as any other field. You can't alter it, however.

    So to superficially check if a file has the right extension, you could do something like this:

    var ext = $('#my_file_field').val().split('.').pop().toLowerCase();
    if($.inArray(ext, ['gif','png','jpg','jpeg']) == -1) {
        alert('invalid extension!');
    }