gpt4 book ai didi

ios - 在ios中对textField设置多重验证

转载 作者:行者123 更新时间:2023-12-03 20:51:02 24 4
gpt4 key购买 nike

我正在 iOS 中开发一款应用程序,其中我在页面上使用多个文本字段,并且必须为文本字段设置不同的验证。假设对于一个文本字段,我只想允许输入字符,而对于一个文本字段,我只想输入数字。我该怎么做呢。任何建议!我使用了下面的代码,但它仅适用于第一个文本字段。

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

最佳答案

#define ACCEPTABLE_CHARACTERS @"0123456789"

-(BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)范围替换字符串:(NSString *)字符串{

if ([textField isEqual:zipCode]) {

NSCharacterSet *cs = [[NSCharacterSet characterSetWithCharactersInString:ACCEPTABLE_CHARACTERS] invertedSet];
NSString *filtered = [[string componentsSeparatedByCharactersInSet:cs] componentsJoinedByString:@""];
return [string isEqualToString:filtered];


}

return YES;

}

关于ios - 在ios中对textField设置多重验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27861347/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com