Formular Überprüfung

  • Hi Leute, nach langer Zeit habe ich es geschafft ein Formular zu bauen bei dem der nachfolgende Link von der Eingabe abhängig ist. Es wird eine Postleitzahl eingegeben und je nach welcher Postleitzahl man eingibt, wird man zur passenden htm Seite gelinkt. Jetzt würde ich es aber gerne unterbinden das man Buchstaben eingibt! Man soll nur Zahlen eingeben können. Wer kann mir weiterhelfen. Hier der Quelltext:

  • Nun, sowas löst man meist mit regulären Ausdrücken. Wenn man unter JS den String str darauf prüfen möchte, ob er nur Ziffern enthält,
    so geht dies so:

    Code
    // str enthält die angebliche PLZ
    var reg = /^\d*$/; 
    if (reg.test(str)) 
      alert("gültige PLZ");
    else 
      alert("ungültige PLZ");


    Wunder dich nicht, falls du das mit den RegEx nicht durchschaust. Diese Thematik ist schon recht speziell und nicht wirklich leicht zu verstehen.
    Aber dafür um so interessanter *g*

    "Carpe Diem" powered by positiv Feelings

  • Ich hatte einen kleinen Schönheitsfehler im letzten RegEx. Der gepostete Ausdruck würde zwar nur Ziffern akzeptieren, jedoch wäre die
    Ziffernlänge ohne Bedeutung. Jede PLZ besteht jedoch aus 5 Ziffern, so dass der richtige RegEx lauten muss

    Code
    var reg = /^\d{5}$/;

    Naja es gehört in die goSite(). Dort prüfst du statt str den Inhalt vom Formularfeld. Z.B so


    Kommt natürlich draufan was du danach prüfen willst. Der RegEx stellt nur sicher, dass str nur aus Ziffern besteht.

    "Carpe Diem" powered by positiv Feelings

  • Code
    if ((str.indexOf("4") == 0)||(str.indexOf("5") == 0)){
          parent.fr5.location = "haendler_4u5.htm";
        }else{
          parent.fr5.location = "haendler_gvb.htm";
        }

    Was soll deine Prüfung denn bewirken? Worauf genau vergleichst du da?

    "Wenn keine Ziffer 4 oder keine Ziffer 5 vorhanden ist, dann rufe haendler_4u5.htm auf, anderenfalls haendler_gvb.htm."

    "Carpe Diem" powered by positiv Feelings

  • gibt jetzt jemand aber Buchsteben ein statt Zahlen, soll ein Hinweis Fenster (od.ähnl.) erscheinen in dem man darauf hingewiesen wird, daß man nur Zahlen eingeben darf. Ist das möglich?

  • Jupp. Selbe Funktion wie oben + 2-3 Zeilen mehr

    "Carpe Diem" powered by positiv Feelings

  • var reg = /^\d{5}$/; bewirgt das man 5 Zahlen eingeben muß. Kann man var reg = /^\d{5}$/; auch umschreiben das es egal ist ob man 1 oder 5 Zahlen eingibt? Ändere ich die 5 in eine 1, dann kann ich kann ich nur noch eine Zahl eingeben. Es sollte aber egal sein wieviele Zahlen man eingibt, aber höchstens 5.

  • Ok, also der Suchstring soll "matchen" wenn
    * mind. 1 & max. 5 Zeichen
    * alle Zeichen Ziffern sind
    Na dann wollen wir mal schauen ...

    Lösung sollte sein

    Code
    var reg = /^\d{1,5}$/;


    Somit sollte das Problem aus der Welt sein...

    "Carpe Diem" powered by positiv Feelings