我想用YYYY
格式验证我的文本字段,这意味着用户只能输入一年四位数字。有七个文本字段,包括此文本字段;我只希望这个文本字段需要验证。
答案 0 :(得分:1)
以下是验证文本字段的示例。
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
If(textField == myTextField)
{
if ([textField length] > 4)
{
return NO;
}
NSNumberFormatter *numberFormatter = [[NSNumberFormatter alloc] init];
[numberFormatter setNumberStyle:NSNumberFormatterDecimalStyle];
NSNumber* candidateNumber;
NSString* candidateString = [textField.text stringByReplacingCharactersInRange:range withString:string];
range = NSMakeRange(0, [candidateString length]);
[numberFormatter getObjectValue:&candidateNumber forString:candidateString range:&range error:nil];
if (([candidateString length] > 0) && (candidateNumber == nil || range.length < [candidateString length])) {
return NO;
}
else
{
return YES;
}
}
}
答案 1 :(得分:1)
创建一个正则表达式,如下所示
NSString *number = @"[0-9]";
NSPredicate *numbertest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", number];
if ([numbertest evaluateWithObject:yourtextfield.text] != YES)
{
// Display error message
}