Con la siguiente función JavaScript podemos validar si el archivo cargado en un input file es una imagen.

El evento se dispara al realizar un cambio en el input file con el evento change, si no es una imagen permitida, saltara un alert JavaScript con un mensaje de error y el archivo se descartara.

<!-- Función -->
<script>
function is_img(idinputfile){
    
    var fileInput = document.getElementById(idinputfile);
    
    fileInput.addEventListener('change', function () {
        
            var filePath = this.value;
            var allowedExtensions = /(.jpg|.jpeg|.png|.gif)$/i;
            if(!allowedExtensions.exec(filePath)){
                alert('Extensión no permitida. Utiliza: .jpeg/.jpg/.png/.gif.');
                fileInput.value = '';
                return false;
            }else{
                alert('Extensión correcta.');
                return true;
            }
        
    });
    
}
</script>

<!-- Input file -->
<input id="inputimg" type="file">

<!-- Lanzamos función -->
<script>
is_img('inputimg'); //Ponemos el Id del input
</script>
Código en vivo

Si te ha sido de utilidad ¡deja un comentario! 🙂