• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Was gibt es Schöneres als den Mai draußen in der Natur mit allen Sinnen zu genießen? Lasst uns teilhaben an Euren Erlebnissen und macht mit beim Thema des Monats Da blüht uns was! ---> Klick

string auf gültigkeit prüfen

SpecialFighter

Fießers Erstling
Registriert
25.04.12
Beiträge
131
guten morgen zusammen,

ich habe eine variable in dem in datum als string gespeichert ist:

Code:
var datum = "05.03.2015"

wie kann ich mit swift 2 überprüfen, ob datum immer dieses Format hat und immer nur zahlen hat incl. 2x "." ?:

00.00.0000


habe die Lösung:

Code:
let dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "dd.MM.yyyy"
let date = dateFormatter.dateFromString("05.03.2015")

if date != nil  { 
print("DATUM OK")
} else {
print("DATUM NICHT OK")
}
 
Zuletzt bearbeitet:
  • Like
Reaktionen: janbrinkman

janbrinkman

Granny Smith
Registriert
02.10.15
Beiträge
12
Nur als Alternative. Es ginge auch mit Regular Expressions:

Code:
import Foundation

let foundDate = "05.03.2015"

let myRegexp = "\\d{2}\\.\\d{2}.\\d{2}"


if (foundDate.rangeOfString(myRegexp, options: .RegularExpressionSearch) != nil) {

    print("that's it")

} else {

    print("not found")

}
 

Fridolin'

Rheinischer Winterrambour
Registriert
25.06.12
Beiträge
926
Würde auch die regExp empfehlen die ist in den meisten Fällen besser. (Muss man sich zwar am Anfang ein wenig reinlesen, aber wenn man dann drinnen ist, ist es okay)

http://regexp-evaluator.de/evaluator/

Die Seite ist da ganz Interessant wenn man noch keine Ahnung hat, zum Spielen.
 

janbrinkman

Granny Smith
Registriert
02.10.15
Beiträge
12
Der reguläre Ausdruck testet aber nur, ob etwas so ähnlich aussieht, wie ein Datum. Der matched zum Beispiel auch bei 34.15.99.

Ja, das stimmt natürlich. Der Vorteil bei den Regexp wäre ggf., dass man auch aus einem String wie "Datum: xx.yy.zzzz" den Datumspart ausschneiden könnte.