您好,在我的申请表中,我的申请表中有注册表格,我正在验证所有字段,如电子邮件和电话号码。但我想以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并检查其他条件。
感谢。
答案 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
那就是它。