erst einmal könntest du die entsprechenden
HTML5-Attribute nutzen, die in den entsprechenden Browsern das JavaScript unnötig machen.
Für alle anderen folgendes (Zauberwort für deine Frage: isNaN):
function checkForm(f) {
var strFehler='';
if (f.Name.value=="") strFehler += "Name ist leer\n";
if (f.Vorname.value=="") strFehler += "Vorname ist leer\n";
if (f.Firma.value=="") strFehler += "Firma ist leer\n";
if (f.Telefon.value=="" || isNaN(f.Telefon.value)) strFehler += "Telefon ist leer oder keine Zahl\n";
if (f.PLZ_Ort.value.length<4 || isNaN(f.PLZ_Ort.value)) strFehler += "PLZ ist nicht korrekt\n";
if (!validEmail(document.forms[0].Email.value)) strFehler += "E-Mail-Adresse ist nicht korrekt\n";
if (strFehler!='') {
alert("Dateneingabe erforderlich \n\n"+strFehler);
return false;
}
else return true;
}
beim Funktionsaufruf, ich vermute mal über das onsubmit-Attribut, ergänzt du
this, also ... onsubmit="return checkForm(this)"
damit sparst du dem Browser, das document.forms[0] jedesmal im DOM zu suchen
Deine Email-Check-Funktion berücksichtigt übrigens nicht alle möglichen E-Mail-Adressen, unter Experten gilt es als (jedenfalls bislang) unmöglich eine kurze Funktion zu diesem Zweck zu schreiben, so dass das simple Prüfen auf @ und . eigentlich das einzig sinnvolle ist.
Letztlich: ich deaktiviere JavaScript auf Seiten, die mir so einen alert zeigen oder verlasse die Seite, ohne was abzuschicken.