Ios 如何验证出生日期7
您好,在我的申请表中,我有一份登记表,我正在验证所有字段,如电子邮件和电话号码。但我想以Ios 如何验证出生日期7,ios,iphone,validation,Ios,Iphone,Validation,您好,在我的申请表中,我有一份登记表,我正在验证所有字段,如电子邮件和电话号码。但我想以DD/MM/YY等格式验证此DOB。我正在使用else if条件检查我的验证我想对DOB执行同样的操作 如果情况像这样,我会用else验证 - (IBAction)send:(id)sender { if ([self phonevalidate:[ph text]]!= 1){ UIAlertView *alert1 = [[UIAlertView alloc]initWithTi
DD/MM/YY
等格式验证此DOB。我正在使用else if条件检查我的验证我想对DOB执行同样的操作
如果情况像这样,我会用else验证
- (IBAction)send:(id)sender {
if ([self phonevalidate:[ph text]]!= 1){
UIAlertView *alert1 = [[UIAlertView alloc]initWithTitle:@"Message" message:@"pls enter valid 10 digit number" delegate:self cancelButtonTitle:@"ok" otherButtonTitles:nil, nil];
[alert1 show];
[alert1 release];
}
else if ([self validateEmail:[emd text]]!= 1){
UIAlertView *alert1 = [[UIAlertView alloc]initWithTitle:@"Message" message:@"pls enter valid email id" delegate:self cancelButtonTitle:@"ok" otherButtonTitles:nil, nil];
[alert1 show];
[alert1 release];
}
我的手机验证功能
-(BOOL)phonevalidate:(NSString *)phh
{
NSString *phoneRegex = @"[0-9]{10}";
NSPredicate *phoneTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", phoneRegex];
return [phoneTest evaluateWithObject:phh];
}
我没有使用UIDate选择器,我要用UITextfield本身验证DOB的UITextfield。如上所述,我要验证DOB,请告诉我如何验证DOB并检查int else if条件
谢谢。让我们试试下面的代码:
NSDateFormatter * dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"DD/MM/YY"];
NSDate *date = [dateFormatter dateFromString:@"12/12/2014"];
If (date)
{
NSLog(@"Valid date");
}
编辑: 假设b'date是
NSString *dateOfBirth = @"22/03/14";
这是检查日期是否有效的方法吗
-(BOOL) isValidateDOB:(NSString *) dateOfBirth
{
NSDateFormatter *format = [[NSDateFormatter alloc] init];
[format setDateStyle:NSDateFormatterShortStyle];
[format setDateFormat:@"dd/MM/yy"];
NSDate *validateDOB = [format dateFromString:dateOfBirth];
if (validateDOB != nil)
return YES;
else
return NO;
}
在上述方法中[format setDateStyle:NSDateFormatterShortStyle]
和setDateFormat
在您的情况下非常重要:
现在你可以像这样检查它
if([self isValidateDOB:dateOfBirth])
{
// b"date is valid;
}
else
{
// b"date is not valid;
}
您可以为此使用
UIDatePicker
:
初始化如下:
UIDatePicker datePicker = [[UIDatePicker alloc] init];
datePicker.datePickerMode = UIDatePickerModeDate;
datePicker.date = [NSDate date];
然后,设置文本字段的输入视图
(将DOB作为输入的字段):
然后,为UITextField
实现textfield的委托方法:
- (void) textFieldDidEndEditing:(UITextField *)textField {
if (textField == yourDOBtextField) {
NSDateFormatter* dateFormatter = [[NSDateFormatter alloc] init];
dateFormatter.dateFormat = @"dd/MM/yy";
yourDOBtextField.text = [dateFormatter stringFromDate:datePicker.date];
[dateFormatter release];
}
}
就是这样。您的日期(DOB)是字符串日期或NSDate格式?可能无法满足您的需要,但您是否考虑过使用UIDATECIPKER
?这样,您不仅可以根据需要格式化用户选择的DOB,而且在UI方面更令人愉快。@N00B程序员请告诉我是否有可能将uidate选择器实现为UITextViewMe。请给我2分钟。你是说尤特菲尔德,对吗?不是UITextView?@n00bProgrammer UITEXTFIEI我已经尝试过你的代码,它在其他部分给出了错误,比如例外表达式,我使用了大括号,但它仍然显示错误,请告诉我如何解决这个问题。请告诉我如何检查非ivalidateDOB不等于dateofbrith“ivalidateDOB不等于dateofbrith”然后执行else
部分。。检查我的答案是否已编辑,并与我的演示项目一起检查,这对我来说很好。我正在验证更多字段,所以使用了else if条件,如果我只验证dob,那么这个代码是f9,但是我正在验证这么多字段,我在问,请告诉我,我必须在哪里使用初始化UIdate选择器,我在任何函数内都有,或者可以在外部初始化。你应该将其设置为全局对象。在.h
中声明,如UIDatePicker*datePicker代码>。然后在viewDidLoad
中添加其余代码(从viewDidLoad
中删除UIDatePicker*
)。然后设置textField
的委托,如yourDOBtextField.delegate=self代码>。将.h
设置为UITextFieldDelegate
。你完成了。:)
- (void) textFieldDidEndEditing:(UITextField *)textField {
if (textField == yourDOBtextField) {
NSDateFormatter* dateFormatter = [[NSDateFormatter alloc] init];
dateFormatter.dateFormat = @"dd/MM/yy";
yourDOBtextField.text = [dateFormatter stringFromDate:datePicker.date];
[dateFormatter release];
}
}