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

Posted

技术标签:

【中文标题】如何删除添加到文本字段的正则表达式?【英文标题】:How to remove a regex added to a textfield? 【发布时间】:2018-07-04 14:20:35 【问题描述】:

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


【问题讨论】:

你不添加正则表达式你只是评估文本字段的文本没有添加或删除它 @RahulGUsai 如果我想在两个不同的时间根据两个不同的标准评估相同的文本该怎么办? 粘贴这段代码总是更好的,这样其他人可以帮助你。 ***.com/help/how-to-ask @AmanChhabra 我已经编辑了这个问题,如果这给你任何提示可能出了什么问题,请告诉我。 【参考方案1】:

addRegx 没有内置在 ios SDK 中,而是由几个不同的开源文本字段验证器添加的 API,例如在 https://github.com/dhawaldawar/TextFieldValidator (documentation found here) 中找到的那个。

在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

将您的文本字段设置为这些验证器,您应该一切顺利。

【讨论】:

以上是关于如何删除添加到文本字段的正则表达式?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用正则表达式删除括号内的文本?

如何使用正则表达式匹配四个数字字段或文本字符串

正则表达式

如何使用正则表达式 html 将空白行删除为纯文本?

如何避免使用 Python re 库删除文本文件中正则表达式标志之间的文本块?

Javascript 正则表达式将文本字段限制为仅数字(必须允许不可打印的键)