Roland: Prüfung auf "nur zahlen" und 9-stellig

hi,

ich habe ein kleines problem.
ich hbe in einem formular ein feld in dem man eine 9-stellige zahl eingeben soll. ich bin nun auf der suche nach einem script, das die eingabe auf eben diese 9-stellen prüft. es müssen ganzgenau 9 sein (nicht mehr und nicht weniger) .....

wäre super wenn mir jemand einen tip geben könnte ......

grüsse
roland

  1. Hallo,

    was Zahlen angeht, hat Javascript die Funktion isNaN(), fuer die Anzahl eignet sich length, beides findest Du in Selfhtml.

    Dieter

    1. Hallo,

      Ach ja und mit regular expressions => \d{9} und match ginge es auch.

      Dieter

    2. Moin Moin !

      was Zahlen angeht, hat Javascript die Funktion isNaN(), fuer die Anzahl eignet sich length, beides findest Du in Selfhtml.

      Und beides ist absolut wirkungslos, um serverseitige Programme vor falschen Daten zu schützen. Length ist quatsch, wenn Du ohnehin schon eine Zahl hast. Dann hilft Mathe, 1. Klasse, "Größer und Kleiner".

      Alexander

      --
      Nein, ich beantworte keine Fragen per eMail. Dafür ist das Forum da.
      Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so!"
      1. Hallo Alexander,

        dass es besser wäre, das auf dem Server zu überprüfen, da sind wir uns einig.

        Hier aber nicht:

        Length ist quatsch, wenn Du ohnehin schon eine Zahl hast. Dann hilft Mathe, 1. Klasse, "Größer und Kleiner".

        Wir wissen nicht, für welchen Anwendungszweck es gebraucht wird. Da es aber durchaus möglich sein kann, dass 000000001 eine erlaubte Eingabe, 1 aber nicht ist, kann er u.U. sehr wohl auf length prüfen müssen. Das ist ja auch kein Problem, die "Zahl" kommt ja eh als String aus dem Formularfeld.

        Grüße,

        Utz

        1. Moin Moin !

          Length ist quatsch, wenn Du ohnehin schon eine Zahl hast. Dann hilft Mathe, 1. Klasse, "Größer und Kleiner".

          Wir wissen nicht, für welchen Anwendungszweck es gebraucht wird. Da es aber durchaus möglich sein kann, dass 000000001 eine erlaubte Eingabe, 1 aber nicht ist, kann er u.U. sehr wohl auf length prüfen müssen. Das ist ja auch kein Problem, die "Zahl" kommt ja eh als String aus dem Formularfeld.

          Jau, da bin ich übers Ziel hinausgeschossen. Im anderen Posting [pref:t=42870&m=234329] hab ichs noch berücksichtigt.

          Alexander

          --
          Nein, ich beantworte keine Fragen per eMail. Dafür ist das Forum da.
          Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so!"
  2. Moin Moin !

    Da du das ohnehin nicht in Javascript auf dem Client überprüfen willst (warum? => </archiv/>), mußt Du auf dem Server überprüfen, ob der übergebene String die richtige LÄNGE (engl.: length) hat und dann FÜR JEDES (engl. FOR EACH) einzelne Zeichen des Strings, ob es eine ZIFFER (engl.: DIGIT) IST (engl.: IS). Manche serverseitigen Sprachen erlauben Dir auch REGULÄRE AUSDRÜCKE (engl.: REGULAR EXPRESSIONS), die Dir einen Teil der Arbeit abnehmen. Vielleicht willst Du auch noch verhindern, daß jemand 000000001 eingibt, das geht nach der ersten Prüfung am besten dadurch, daß Du außerdem überprüfst, ob die ermittelte Zahl größer oder gleich 100000000 ist.

    Das da oben ist dein Code, übersetze ihn in eine Sprache Deiner Wahl. Mehr GetHTML gibt es heute nicht von mir.

    Alexander

    --
    Nein, ich beantworte keine Fragen per eMail. Dafür ist das Forum da.
    Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so!"