RegExp() Problem

janosch

Erfahrenes Mitglied
HI!

Ich bin grad dabei Javascript zu lernen und bin jetzt bei den regulären ausdrücken gelandet.Wie kann ich es über RegExp() anstellen das nur Buchstaben und sonst nix erlaubt ist .

Ich habe es wie folgt probiert dies funktioniert jedoch nicht:
PHP:
reg = new RegExp("[a-zA-Z]");
res = reg.test(document.form.Vorname.value)
if (res==false){
 alert("Falsche Eingabe");
 return false;
}
return true;

Wenn ich jetzt einen String wie folgt eingebe(siehe tabelle unte) bekomme ich nicht das gewünschte ergebnis .Wo ist mein Fehler?

eingabe ergebnis
121212 -------> funktinoiert
asasdASAS -------> funktioniert
asasdASDAA121212 -------> funktioniert nicht
 
Hallo,janosch....

zum einen erzeugst du mit "new Regexp()" ein Objekt... du brauchst aber eine Variable mit einem reg. Ausdruck als Inhalt:
Code:
reg =/([a-zA-Z])/;
Dann ist noch nen Logikfehler drinnen....wenn du einen Ausdruck hast, der Buchstaben findet, liefert dir test() nur dann false, wenn keine Buchstaben gefunden wurden.
Du musst aber nach Zeichen suchen, welche kein Buchstabe sind, und wenn test() dann true ist, war die Eingabe falsch:
Code:
function funktion()
{
reg =/([^a-zA-Z])/;
res = reg.test(document.form.Vorname.value);
if (res){
alert("Falsche Eingabe");
return false;
}
return true;
}
das "Hütchen" im Ausdruck negiert dabei die Zeichenklasse....
also:
[a-zA-Z]-->Zeichen, welche ein Buchstabe sind
[^a-zA-Z]-->Zeichen, welche kein Buchstabe sind
 

Neue Beiträge

Zurück