carookee - group communication for you
Home / JavaForum / Beginner
Infos   |   Features   |   Gold-Edition   |   Kundenservice   
java
  Übersicht
  Forum
Beginner
Java allgemein
JDBC
JNI
Networking
Online-Ressourcen
Swing + AWT
XML
Meckerecke
  Mitglieder
LOGIN





· Passwort vergessen
· Kostenlos anmelden
  Information
  Demo
  Features
  Im Vergleich
  Anmeldung
SUCHE
Beiträge, Foren oder Verfasser finden:
  Kundenservice
  Impressum
  Datenschutz
  AGB
Status
4.997 User online
0 User eingeloggt
 

Beiträge
   Antworten     Neuer Beitrag    

Beitrag 400 von 2963 (13%) |<   <   >   >|

Autor DeaconFrost
Datum 16.11.05, 13:21
Betreff Re: Datum überprüfen


Die String-Klasse bietet seit Java 1.4 die Methode matches an. Damit kannst Du überprüfen, ob der String einer sog. regular expression entspricht. In deinem Fall würde das also so aussehen:

String richtig = "2005.11.16";
String falscheEingabe = "was.auch.immer";
String falschesDatum = "2005.11.50";

// ergoogelt und abgewandelt
String regEx = "^(19|20)(\d{2}).(0[1-9]|1[012]).(0[1-9]|[12][0-9]|3[01])$"

bool test = richtig.matches(regEx); // true
test = falscheEingabe.matches(regEx); // false
test = falschesDatum.matches(regEx); // false


Damit muss der String folgenden Bedingungen genügen:
- Das Datum muss am Stringanfang beginnen (Zeichen ^)
- Danach muss "19" oder "20" folgen (19|20)
- Danach müssen 2 Ziffern folgen (Ziffer = \d, {2} 2-mal)
- Danach ein Punkt
- Danach entweder die 0, gefolgt von den Ziffern 1-9 ODER die 1, gefolgt von den Ziffern 0, 1 oder 2
- Danach wieder ein Punkt
- Die letzte Gruppe solltest du jetzt alleine schaffen ;-)
- Der String muss danach enden (Zeichen $)

In diesem Fall ist aber noch eine weitere Prüfung notwendig, nämlich ob es den Tag des Monats überhaupt gibt (z.B. 31. November würde nicht abgefangen).

Hoffe das hilft.

Liebe Grüße,

Deacon Frost




Diskussionsverlauf:
    Re: Datum überprüfen
Datum überprüfen

 Auf diesen Beitrag antworten
 Neuen Beitrag verfassen


|<   <   >   >|

                                                                                                                                                                                                                           

Impressum  · Datenschutz  · AGB  · Infos  · Presse
Ein modernes Forum: teamturn.com