【发布时间】:2015-01-09 13:10:56
【问题描述】:
我正在开发 iOS 中的一个应用程序,在该应用程序中我在页面上使用多个文本字段,并且我必须为 textField 设置不同的验证。假设对于一个文本字段,我只想允许输入字符,而对于一个我只想输入数字的文本字段。我该怎么做。任何建议! 我使用了下面的代码,但它只适用于第一个文本字段。
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
if (!string.length)
return YES;
if (textField == self.tmpTextField)
{
NSString *newString = [textField.text stringByReplacingCharactersInRange:range withString:string];
NSString *expression = @"^([0-9]+)?(\\.([0-9]{1,2})?)?$";
NSRegularExpression *regex = [NSRegularExpressionregularExpressionWithPattern:expression
options:NSRegularExpressionCaseInsensitive
error:nil];
NSUInteger numberOfMatches = [regex numberOfMatchesInString:newString
options:0
range:NSMakeRange(0, [newString length])];
if (numberOfMatches == 0)
return NO;
}
return YES;
}
【问题讨论】:
-
第二个文本字段的名称是什么。
-
如何使用
keyboardType限制文本字段中的文本输入? -
Hey Utkarsh 键盘类型只是在编辑文本字段时将特定键盘打开为小数键盘、数字键盘和字符键盘。要停止在文本字段中键入字符,您需要对其进行限制。我在答案中给出了一个代码,一旦您检查,我如何停止 textField 以停止输入字符.....谢谢
-
n00bProgrammer,keyboardType 可以在 iPhone 和 iPad 平台之间有所不同,用户也可以将文本粘贴到 textField 中。
标签: ios objective-c iphone uitextfield