我有一个特殊的情况,首先我必须在文本字段中添加一个正则表达式,然后过一会儿我必须将其删除。我成功添加了它,但是我不知道如何删除它。如果有人可以告诉我如何在文本字段上更新正则表达式,那也可以工作。我试图覆盖较旧的正则表达式,但它根本无法正常工作。这是我遇到的麻烦的代码,有时if条件为true,有时控件转到else块。
-(void)addRegexInformation{
if ([[USERDEFAULT stringForKey:USERSELECTEDLANGUAGE] isEqualToString:@"Persian"] || [[USERDEFAULT stringForKey:USERSELECTEDLANGUAGE] isEqualToString:@"Spanish"] || [[USERDEFAULT stringForKey:USERSELECTEDLANGUAGE] isEqualToString:@"German"]) {
[emailTxtFld addRegx:REGEX_EMAIL withMsg:[UtilityHandler convertIntoSelectedLanguage:CustomLocalisedString(@"validEmail")]];
[passwordTxtFld addRegx:REGEX_USER_NAME_LIMIT withMsg:[UtilityHandler convertIntoSelectedLanguage:CustomLocalisedString(@"enterPassMsg")]];
}
else{
[emailTxtFld addRegx:REGEX_EMAIL withMsg:CustomLocalisedString(@"validEmail")];
[passwordTxtFld addRegx:REGEX_USER_NAME_LIMIT withMsg:CustomLocalisedString(@"enterPassMsg")];
}
}
答案 0 :(得分:1)
addRegx
并未内置到iOS SDK中,而是由几个不同的开源文本字段验证器添加的API,例如在https://github.com/dhawaldawar/TextFieldValidator(documentation found here)处找到的验证器。 / p>
在https://github.com/canicelebrate/AETextFieldValidator上也找到了一个较新的版本(截至两年前),可以通过Cocoapods将其合并。
您没有指定要使用的是哪个,所以我们现在假设AETextFieldValidator
。
GhazalahTextFieldValidator.h
#import <UIKit/UIKit.h>
#import "AETextFieldValidator.h"
@interface GhazalahTextFieldValidator : AETextFieldValidator
@end
GhazalahTextFieldValidator.m
#import "GhazalahTextFieldValidator.h"
@interface GhazalahTextFieldValidator() {
NSMutableArray *arrRegx;
}
@end
@implementation GhazalahTextFieldValidator
- (void)emptyRegxArray {
[arrRegx removeAllObjects];
}
@end
将您的文本字段设置为这些验证器,您应该会很好。