如何验证出生日期IOS7

时间:2014-03-22 06:10:50

标签: ios iphone validation

您好,在我的申请表中,我的申请表中有注册表格,我正在验证所有字段,如电子邮件和电话号码。但我想以DD/MM/YY这样的格式验证这个DOB。我正在使用else,如果条件检查我的验证,我想对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 Picker我有UITextfield用于DOB我想用UITextfield本身验证。如上所述我想验证DOB请告诉我如何验证DOB并检查其他条件。

感谢。

3 个答案:

答案 0 :(得分:8)

<强>编辑:

假设b&#39; date是

NSString *dateOfBirth = @"22/03/14"; 

这是检查b&#39;日期是否有效的方法?

-(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;
}

答案 1 :(得分:0)

让我们尝试以下代码:

NSDateFormatter * dateFormatter = [[NSDateFormatter alloc] init];

[dateFormatter setDateFormat:@"DD/MM/YY"];

NSDate *date = [dateFormatter dateFromString:@"12/12/2014"];

If (date) 
{ 
    NSLog(@"Valid date");
}

谢谢!

答案 2 :(得分:0)

您可以使用UIDatePicker

像这样初始化:

UIDatePicker datePicker = [[UIDatePicker alloc] init];

datePicker.datePickerMode = UIDatePickerModeDate;

datePicker.date = [NSDate date];

然后,设置inputView的{​​{1}}(以DOB作为输入的那个):

textField

然后,为yourDOBtextField.inputView = datePicker; 实施textFieldDidEndEditing:委托方法:

UITextField

那就是它。