如何删除添加到文本字段的正则表达式?

How to remove a regex added to a textfield?

我有一个特定的情况,首先我必须在我的文本字段中添加一个正则表达式,然后过一会儿我必须将其删除。我添加成功了,但我不知道如何删除它。如果有人能告诉我如何更新文本字段上的正则表达式,那也可以。我试过覆盖旧的正则表达式,但它根本不起作用。这是我遇到问题的代码,有时 if 条件为真,有时控制转到 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")];

}

}

addRegx 并未内置于 iOS SDK 中,而是由几个不同的开源文本字段验证器添加的 API,例如 [=14= 中的验证器] ]).

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

将您的文本字段设置为这些验证器,您应该可以开始了。