1.5k Aufrufe
Gefragt in Skripte(PHP,ASP,Perl...) von
hallo,
ich möchte ein formular überprüfen auf vollständigkeit der daten. es fehlt noch die richtigkeit der telefonnummer (abfrage auf nummern) und PLZ (abfrage auf nummern). da ich ein neueinsteiger bin, bräuchte ich hier hilfe. den bisherigen code poste ich hier einmal, damit man sich ein bild machen kann. vielen dank

function checkForm() {

var strFehler='';

if (document.forms[0].Name.value=="")

strFehler += "Name ist leer\n";

if (document.forms[0].Vorname.value=="")

strFehler += "Vorname ist leer\n";

if (document.forms[0].Firma.value=="")

strFehler += "Firma ist leer\n";

if (document.forms[0].Telefon.value=="")

strFehler += "Telefon ist leer\n";
//hier möchte ich noch abfragen, ob die telefonnummer auch als nummer eingegeben wurde

if (document.forms[0].PLZ_Ort.value.length<4)

strFehler += "PLZ ist nicht korrekt\n";
//hier möchte ich noch abfragen, ob die telefonnummer auch als nummer eingegeben wurde


if (!validEmail(document.forms[0].Email.value)) {

strFehler += "E-Mail-Adresse ist nicht korrekt\n";

}

if (strFehler.length>0) {

alert("Dateneingabe erforderlich \n\n"+strFehler);

return(false);

}
}

function validEmail(Email) {

var strReg = "^([a-zA-Z0-9_\-])+\@(([a-zA-Z0-9\-])+.)+.+([a-zA-Z0-9]{2,4})+$";

var regex = new RegExp(strReg);

return(regex.test(Email));

}

</script>

5 Antworten

0 Punkte
Beantwortet von
Hi, ich bin zwar auch nicht der Fachmann dafür, aber solche Skripte kannst über GOOGLE finden.
0 Punkte
Beantwortet von
Nachtrag:
Übrigens, wenn jemand Javascript abgeschaltet hat, nützt dir diese Abfrage nichts, im Gegenteil, es fünktioniert deine Seite nicht. Sowas macht man besser mit PHP und serverseitiger Abfrage.
0 Punkte
Beantwortet von
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.
0 Punkte
Beantwortet von
Ich vergaß zu erwähnen, dass solo in einem recht hat (außer dass du natürlich googlen kannst und dass er kein Fachmann ist, nicht hingegen mit seinen unsinnigen Aussage zu JavaScript): du musst die Daten in jedem Fall serverseitig prüfen. Es ist möglich alle browserseitigen (also JavaScript und HTML5-input-Attribute) Prüfungen zu umgehen. Die Daten, die bei deinem Server ankommen, müssen nicht einmal von deiner Seite abgeschickt worden sein. Also kannst du dich auf browserseitige Prüfungen niemals verlassen.

Und beachte den Datenschutz!
0 Punkte
Beantwortet von
hallo,
danke dir vielmals für die super infos und hinweise. werd ich gleich mal ausprobieren.
...