我是 Objective-C 代码编程的新手......并且是我第一次在 Stackoverflow 上发布问题。
有人可以告诉我为什么这段代码不起作用?我已经在测试网站上测试了正则表达式并且工作正常,但在 Xcode 中不起作用......我需要以这种格式(HH:MM)验证时间。
谢谢大家...
(编码)
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
NSString *expression = [[NSString alloc] init];
if (textField == self.TB_orarioPartenza)
{
expression = @"^([0-1][0-9]|[2][0-3]):([0-5][0-9])$";
}
if (textField == self.TB_numGiri) {
expression = @"^d{2}";
}
NSString *newString =[textField.text stringByReplacingCharactersInRange:range withString:string];
NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:expression
options:0
error:nil];
NSUInteger numberOfMatches = [regex numberOfMatchesInString:newString
options:0
range:NSMakeRange(0, [newString length])];
if (numberOfMatches == 0) return NO;
return YES;
}