Die Schleife tut es nicht, denn wenn ich die richtige Schreibweise beacht, wird trotzdem die Fehlermeldung ausgegeben.
Insgesamt habe ich für die Telefonnummer 3 Abfragen:
1. ob das Feld leer ist (funktioniert)
2. ob ein "+" und ein "." enthalten sind (funktioniert)
3. diese Abfrage, die dazu dient, herauszufinden, ob an 1. Stelle ein "+" steht und an vierter Stelle ein ".".
Aber 3. funktioniert nicht, wie oben schon gesagt.
Und ich möchte, dass jedes Zeichen überprüft wird.
Soweit ich das sehe, stimmt irgendwas bei
|| document.formular.phone.value.charAt(1) != "+"
|| document.formular.phone.value.charAt(4) != ".")
nicht, aber ich weiss absolut nicht was.
Ist es vielleicht möglich, dass man irgendwie in der for-Schleife keine direkte Abfrage auf ein bestimmtes Zeichen machen kann?
Etwas anderes kann ich mir nicht erklären...
Hier nochmal die komplette Schleife:
var chkZ = 1;
for(i=0;i<document.formular.phone.value.length;++i)
if(document.formular.phone.value.charAt(i) < "0"
|| document.formular.phone.value.charAt(i) > "9"
|| document.formular.phone.value.charAt(1) != "+"
|| document.formular.phone.value.charAt(4) != ".")
chkZ = -1;
if(chkZ == -1)
{
alert("Die Telefonnummer muss eine Zahl sein!");
document.formular.phone.focus();
return false;
}
Daniela