JSFiddle - React, Tailwind, and code Playground
by Stefano Bertoli
HTML
<input id="test" type="file" name="test">
<button onclick="alert(file_ok(document.getElementById('test').value));">Check file</button>
JavaScript
function contiene(listaNomi,nome)
{
var flag=false;
for (i=0; i<listaNomi.length; i++)
{
if (listaNomi[i]==nome) flag=true;
}
return flag;
}
function explode (delimiter, string, limit) {
if ( arguments.length < 2 || typeof delimiter === 'undefined' || typeof string === 'undefined' ) return null;
if ( delimiter === '' || delimiter === false || delimiter === null) return false;
if ( typeof delimiter === 'function' || typeof delimiter === 'object' || typeof string === 'function' || typeof string === 'object'){
return { 0: '' };
}
if ( delimiter === true ) delimiter = '1';
delimiter += '';
string += '';
var s = string.split( delimiter );
if ( typeof limit === 'undefined' ) return s;
// Support for limit
if ( limit === 0 ) limit = 1;
// Positive limit
if ( limit > 0 ){
if ( limit >= s.length ) return s;
return s.slice( 0, limit - 1 ).concat( [ s.slice( limit - 1 ).join( delimiter ) ] );
}
// Negative limit
if ( -limit >= s.length ) return [];
s.splice( s.length + limit );
return s;
}
function file_ok(url)
{
var ok=false;
allowedExt=new Array("gif","jpeg","jpg","png","GIF","JPEG","JPG","PNG");
var temp=explode(".",url);
last_index=temp.length-1;
var ext=temp[last_index];
if (contiene(allowedExt,ext)){ok=true;}
return ok;
}