String validieren

  • Hallo,


    ich habe mal wieder ein Problem. :P
    Meine Aufgabe ist es, dass ich einen String habe, den ich überprüfen will, bevor das Formular abgeschickt wird.
    Der String kann in zwei verschiedenen Varianten aufgebaut sein:


    1. Variante: 00-00/00-00/00-00/00-00/00-00/00-00/00-00/00-00/00-00/00-00/00-00/00-00/00-00/00-00/00-00/00-00//


    2. Variante: 0-0/0-0/0-0/0-0/0-0/0-0/0-0/0-0/0-0/0-0/0-0/0-0/0-0/0-0/0-0/0-0//


    (Anstatt der 0 können die Ziffern 0-9 stehen)


    Die Regel, nach dem der String überprüft werden soll ist: Das auf eine Zahl nur +-1 folgen darf.
    Also beispielsweise: 0-1/0-0/1-0/.... wäre richtig; 0-2/0-0/1-0/... wäre falsch.


    Ich hatte überlegt immer mit charAt() durchsuchen zu lassen, und dabei bei variante 1. immer die die Zeichen [0] und [1] zu einer Zahl zusammenzufügen und [4] und [5]. Diese zwei Zahlen subtrahiere ich und das Ergebnis muss -1, 0 oder 1 sein. Bei Variante 2. dann äquivalent vorgehen.


    Wie kann ich das am Besten umsetzen, oder hat sogar jmd. noch einen anderen Vorschlag?


    Viele Grüße


    MrFogel

  • einen schicken regulären ausdruck basteln?
    Oder das ding in ein array zerlegen und prüfen... das wäre meine Idee...


    Reguläre Ausdrücke sind nicht so meine Stärke haha^^


    Ich werde zuhause es mal versuchen, den String mit split('/') in ein Array zu verfrachten und dann jeweils, die einzelnen Strings im Array zu prüfen.


    Danke für die Idee, ich werde dann berichten obs geklappt hat ;)

  • Laut dem hier - http://www.mediaevent.de/javas…ript-String-Methoden.html - kann ich für split() ne regex oder auch einen Teilstring angeben. In meinem Fall würde sich ja "/" als Teilstring anbieten.
    Mit explode müsste man das ja Serverseitig sein. Ich würde das aber schon gern dem client mitteilen bevor er das Formular abschickt ;)


    Also ich habe mich mal daran versucht:



    Das jetzt erstmal zum Testen. Meiner Meinung nach müsste er ja wenn ich jetzt als teststring = 22-22/22-22//, überall etwas rauskommen.
    Er spuckt aber nur aus:

    Code
    "22-22/22-22//"
    Array [ "22-22", "22-22", "", "" ]
    "2" 
    ""
    ""
    ""
    ""
    ""


    Löscht er den Rest nach .charAt() ? Ich kann momentan noch keine Fehler entdecken.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!