Inhaltsüberprüfung



Geben Sie bitte Ihren Vornamen ein:

Geben Sie bitte Ihren Nachnamen ein:

Geben Sie bitte Ihre Telefonnummer ein:


Der Sourcecode

1 <SCRIPT LANGUAGE="JavaScript">
2 function check(form) {
3 if (form.elements[0].value == "" || form.elements[1].value == "" || form.elements[2].value == "") {
4 alert("Geben Sie bitte die fehlenden Daten ein!")
5 } else {
6 testResults (form)
7 }
8 }
9
10 function testResults (form) {
11 TestVar = isNumberString (form.phone.value)
12 if (TestVar == 1) {
13 alert("Alle Eingaben korrekt.")
14 } else {
15 alert("Geben Sie bitte eine gültige Telefonnummer ein!")
16 }
17 }
18
19 function isNumberString (InString) {
20 var RefString="1234567890 "
21 for (Count=0; Count < InString.length; Count++) {
22 TempChar = InString.substring (Count, Count+1)
23 if (RefString.indexOf (TempChar, 0) == -1) {
24 return (false)
25 }
26 }
27 return (true)
28 }
29 </SCRIPT>

30 <FORM>
31 <H3>Geben Sie bitte Ihren Vornamen ein:<BR>
32 <INPUT TYPE="text" VALUE="" NAME="first" SIZE=30><P>
33 Geben Sie bitte Ihren Nachnamen ein:<BR>
34 <INPUT TYPE="text" VALUE="" NAME="last" SIZE=30><P>
35 Geben Sie bitte Ihre Telefonnummer ein:<BR>
36 <INPUT TYPE="text" VALUE="" NAME="phone" SIZE=30><P>
37 <INPUT TYPE="button" VALUE="Test!" onClick="check(form)">
38 </FORM>


Dieses Beispiel überprüft, ob von den drei Eingabefeldern jedes ausgefüt ist und ob das Feld für die Telefonnummer nur Zahlen enthält.
Dazu werden drei Funktionen benötigt. Die erste überprüft, ob alle Felder ausgefüllt sind, indem sie deren Inhalt mit einem Leerstring vergleicht (Zeile 3). Ist alles in Ordnung, kommt die zweite Funktion zum Zug, andernfalls wird der User mit einer Warnung daran erinnert, das erforderliche Daten fehlen.
Die zweite Funktion ist die Masterfunktion der Prüfung, ob die Telefonnummern korrekt eingegeben wurde. Dafür wird zuerst eine Variable TestVar definiert, die das Resultat der eigentlichen Überprüfung in der dritten Funktion übernimmt und je nachdem den User auffordert, eine gültige Nummer einzugeben.
Die wichtigste Funktion ist die dritte. Hier geschieht die eigentliche Prüfung, indem der Inhalt der dritten Eingabebox eingelesen und Zeichen für Zeichen mit einem Referenzstring verglichen wird. Aber der Reihe nach:
In Zeile 20 wird die Referenz definiert, sie enthält alle einfachen Zahlen und ein Leerzeichen (wichtig bei Telefonnummern). Der for-Loop in Zeile 21 und 22 sorgt dafür, dass jedes Zeichen einzeln nacheinander überprüft wird -- das jeweils aktuelle Zeichen wird in eine neue Variable TempChar eingelesen und dann in Zeile 23 mit der Referenz verglichen. Entspricht das Zeichen keinem aus der Referenz, wird das durch die Zeile 24 als 0 an die Masterfunktion ausgegeben. Wenn alle Zeichen 'richtig' sind, d.h. auch in der Referenz vorkommen, gibt Zeile 27 eine 1 aus. Dieser Output wird dann in Zeile 12 von der Masterfunktion ausgewertet.



© 1997 mva, WindowsGuide Online