Sven Rautenberg: Eingabe von Dateifeld überprüfen

Beitrag lesen

Schau dir bitte mal folgendes script an:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 //EN">

<html>
<head>
<title>Untitled</title>
<script>
function isJpg(inp)
{
if (inp != "") {
  var check = inp.split(".");

An dieser Stelle gehst du davon aus, daß der Dateipfad nur einen Punkt enthält, der die Dateiendung trennt. Leider lassen die meisten Systeme, für die es Browser gibt, auch Punkte im Pfadnamen zu, so daß dann die nachfolgende Bedingung nicht mehr zutreffen kann.

Besser wäre:
     var check = inp.substring(inp.lastIndexOf(".")+1,inp.length)

(PS: Ist ein Schnellschuß, ggf. sind da noch +1 oder -1 zu rechnen, daß hab ich jetzt nicht geprüft.)

Und hier dann natürlich mit check vergleichen, nicht mit check[1].

if ((check[1] == "jpg") || (check[1] == "jpeg")){

Andere Alternative: Mit check[check.length-1] vergleichen, das enthält das letze Element von split.

alert("Bild ist jpeg");
                        return true;}
  else
   return false;
  }
}

</script>
</head>

- Sven Rautenberg