Beni: Regular expressions: Feld darf nur numerisch sein

Hallo!
Ich brauche dringend Hilfe...
Ich habe hier ein Formular, ein paar der Felder dürfen nur nummern enthalten und nicht leer sein.

ich experimentiere schon mehrere Stunden mit regular expressions, mir wird aber beim Aufruf immer -1 geliefert :/
und das obwohl ich Buchstaben eingegeben habe...

Code:
alert(document.getElementsByName("postal")[0].value.search("/\D/"));
^^sollte mir doch != -1 werden, wenn etwas anderes als Zahlen eingegeben wurde, oder?
Auch ein
alert(document.getElementsByName("postal")[0].value.search("/[0-9]+/"));
brachte kein ergebnis, obwohl Zahlen eingegeben wurde...
Leider bin ich recht neu im Thema RegExp :(
ich bitte um Nachsicht!

  1. Tag Beni.

    Ich habe hier ein Formular, ein paar der Felder dürfen nur nummern enthalten und nicht leer sein.

    Verwende doch besser isNaN(), dann brauchst du keine teuren Regulären Ausdrücke.

    alert(document.getElementsByName("postal")[0].value.search("/\D/"));
    sollte mir doch != -1 werden, wenn etwas anderes als Zahlen eingegeben wurde, oder?

    Nein, die Zeichenklasse '\D' bedeutet, dass alles außer Zahlen enthalten sein darf, du meinst sicher '\d'. Außerdem darf der reguläre Ausdruck nicht in Hochkommata eingeschlossen sein. Darüber hinaus solltest du Begrenzer verwenden, sodass das Ganze so aussieht:

    var Test = '123';  
    alert(Test.search(/^\d+$/)); // 0  
    alert(Test.search("/^\d+$/")); // -1
    

    Für den Einstieg empfiehlt sich das SelfHTML-Kapitel zum RegExp-Objekt.

    Siechfred

    --
    Everybody's going to the party have a real good time,
    Dancing in the desert blowing up the sunshine.
    1. Nein, die Zeichenklasse '\D' bedeutet, dass alles außer Zahlen enthalten sein darf, du meinst sicher '\d'. Außerdem darf der reguläre Ausdruck nicht in Hochkommata eingeschlossen sein. Darüber hinaus solltest du Begrenzer verwenden, sodass das Ganze so aussieht:

      Hallo!
      Erstmal danke für den tipp mit der Funktion!
      ich habe zwar vorher nach sowas gesucht, aber nichts gefunden :)
      Danke!

      '\D' gibt mir ja alles aus, was nichtnumerisch ist. ich dachte, wenn ich weis, dass das feld gefüllt ist, und der search auf '\D' mir etwas zurückliefert - dann weis ich, dass der user auch was anderes als nummern eingegeben hat!

      ich werds aber mit der funtkion umsetzen!
      danke nochmal! :)