Primero te comento, la validación que sirve la hago por php.
Con respecto a lo otro, en html5 existe el atributo accept para los campos file, pero no funciona igual en todos los navegadores ( o simplemente no funciona)
http://www.w3schools.com/html5/att_input_accept.asp
Saludos