Aquí está la función que uso.
Código PHP:
<script language="javascript">
extArray = new Array(".gif", ".jpg", ".jpeg");
function LimitAttach(file)
{
allowSubmit = false;
if(file)//si se selecciono un archivo
{
while (file.indexOf("\\") != -1)
//file.indexOf("\\") busca dentro de la cadena el caracter \ y devuelve la posicion sino retorna -1; entonces el while es mientras no retorne -1
{
file = file.slice(file.indexOf("\\") + 1);//devuelve la parte de la cadena, despues de haber encontrado el \, hasta el final
}
//Aqui tenemos solo el nombre y extension del archivo
ext = (file.substring(file.lastIndexOf("."))).toLowerCase();
//ext = file.slice(file.indexOf(".")).toLowerCase();//devuelve en minuscula la parte de la cadena q esta despues del punto
for (var i = 0; i < extArray.length; i++)
{
if (extArray[i] == ext)
{
allowSubmit = true;
break;
}
}
if (allowSubmit)
{
return true;
}
else
{
alert("Se permiten \u00fanicamente archivos con la extensi\u00f3n: " + (extArray.join(" ")) + "\nPor favor, seleccione otro archivo "+ "e intente de nuevo.");
//extArray.join(" ") devuelve los registros del array separados por un espacio en blanco
return false;
}
}
}
</script>
Saludos