Hagen: Unverständliche Probleme mit einem Regulären Ausdruck

Hallo,
ich bin zur Zeit dabei, ein Loginscript zu schreiben. Natürlich gehört hier auch ein Registrierungsformular dazu, günstig für eine Überprüfung auf Richtigkeit der Eingaben sind hierbei reguläre Ausdrücke, der für den Namen sieht beispielsweise so aus:

var reg_name=/[a-zäöü]{3,}/i

Das Problem hierbei ist allerdings, dass zwar die ersten drei Zeichen des Strings auf ihre Richtigkeit geprüft werden, was aber danach steht ist dem Sctipt egal sprich ich kann einen Namen, wie z.B. abc876 eintragen, ohne dass "false" zurückgegeben wird.
Würde ich einen Ausdruck aber wie folgt definieren,

var reg_name=/[a-zäöü]{3,}//i

müssten alle Zeichen zwischen Anfang und / Buchstaben sein. Da ein / am Ende aber nicht gerade das beste ist, würde ich es begrüßen, wenn mir jemand helfen könnte.
Der Ausdruck

var reg_name=/[a-zäöü]{3,50}/i

ist auch ungültig.

Mfg

  1. Hallo!

    var reg_name=/[a-zäöü]{3,}/i

    ... wie z.B. abc876 eintragen, ohne dass "false" zurückgegeben wird.

    {3,} bedeutet mindestens 3 Zeichen. {3} bedeutet 3 Zeichen, nicht mehr und nicht weniger.

    André Laugks

    --
    Die Frau geht, die Hilti bleibt!
    1. Ja, das soll ja auch heißen min. 3 Zeichen, aber mehr, wenn nötig. Die Zeichen, die kommen müssen meines Wissens nach die Bedingung erfüllen, dass sie alphanumerisch sind. Die Bedingung wird aber leider ignoriert ab Zeichen 4.
      Getestet habe ich mit FireFox 2.x und IE6. Vielleicht könnt ihr das ja noch einmal testen, ob es bei euch geht. Aber der String ggg1-2 liefert den Wert true zurück.

  2. Hi,

    var reg_name=/[a-zäöü]{3,}/i
    Das Problem hierbei ist allerdings, dass zwar die ersten drei Zeichen des Strings auf ihre Richtigkeit geprüft werden,

    nein, es werden drei oder mehr aufeinander folgende Zeichen geprüft. Ob diese am Anfang, am Ende oder mitten drin stehen, sagt Deine RegExp nicht aus. Hauptsache sie kommen vor.

    Cheatah

    --
    X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
    X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
  3. Hello out there!

    Da ein / am Ende aber nicht gerade das beste ist,

    ... benutzt du das Zeichen, das für das Ende steht: $. Und damit 876abc nicht matcht auch das, was für den Anfang steht: ^.

    http://de.selfhtml.org/javascript/objekte/regexp.htm, http://de.selfhtml.org/perl/sprache/regexpr.htm#zeichenketten

    See ya up the road,
    Gunnar

    PS:

    ich bin zur Zeit dabei, ein Loginscript zu schreiben.

    Was zum Geier hat Login mit JavaScript zu tun?

    --
    „Wer Gründe anhört, kommt in Gefahr nachzugeben.“ (Goethe)