Je souhaite être en mesure de valider une date.iPhone SDK: test de la date de chaîne valide
L'entrée valide est de 4 caractères avec un masque mmyy.
Je veux m'assurer que la valeur entrée est bien une date.
Merci d'avance.
Je souhaite être en mesure de valider une date.iPhone SDK: test de la date de chaîne valide
L'entrée valide est de 4 caractères avec un masque mmyy.
Je veux m'assurer que la valeur entrée est bien une date.
Merci d'avance.
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"mmyy"];
NSDate *date = [dateFormatter dateFromString:YOUR_STRING];
If (date) {
// CORRECT
}
Les méthodes NSDateFormatter
et -dateFromString:
de l'utilisateur. Si la chaîne n'est pas dans le format correct, vous obtiendrez nil
renvoyé à partir de -dateFromString:
.
Cette dateFormatter-chose est inconvinient pour moi car il accepte de nombreuses choses comme date valide. ok, le jour après que yesus est né est en effet une date valide ;-) et aussi dateformatter enlève 1 heure de mes datestring parce qu'il semble calculer avec utc temps ou ainsi ... c'est pourquoi j'aime vérifier les dates correctes avec régulier expressions:
[textfield.text rangeOfString:@"^(0[1-9]|[1-2][0-9]|3[0-1])(0[1-9]|1[0-2])(19|20)[0-9]{2}" options:NSRegularExpressionSearch].location == NSNotFound
cet exemple est pour le format de date allemand
merci. Et comment tester le nombre? – butchcowboy
vous pouvez essayer avec '[str intValue];' – vodkhang
votre format de date doit être MMyy. mm est pour minute, donc 45 est valide et vous devriez également sortir votre dateFormatter – Sandro