ios - iOS 中的正则表达式将文本字段限制为仅字母和单个撇号

标签 ios regex nsregularexpression

返回文本字段后,我想检查提供的文本是否有效。对于名称,有效意味着只有字母或一个撇号。

我对正则表达式还很陌生。有没有我可以用于此检查的简单正则表达式,或者有人可以给我一些阅读 Material ,让我可以学习编写适合我需要的正则表达式吗?

最佳答案

您可以这样做,但是您需要在输入无效时显示错误。

- (BOOL)textFieldShouldEndEditing:(UITextField *)aTextField
{
    NSString *const regularExpression = @"^[a-zA-Z']+$";
    NSError *error = NULL;
    NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:regularExpression
                                                                           options:kNilOptions
                                                                             error:&error];
    if (error) {
        // Handle error
    }

    NSUInteger numberOfMatches = [regex numberOfMatchesInString:aString
                                                        options:0
                                                          range:NSMakeRange(0, [aString length])];
    return numberOfMatches > 0;
}

关于ios - iOS 中的正则表达式将文本字段限制为仅字母和单个撇号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28278276/

相关文章:

iphone - 从 NSString 中删除动态文本

iOS - 不能是连续或重复数字的 4 位整数的正则表达式?

ios - iOS 5 中的 UIView 使用 Storyboard不会在 iPad 设备旋转时旋转内容

ios - 如何在 iOS 中使用 enumerateAttributes 递归删除 TapStops 位置

java - 在java中匹配 "."

c# - 具有特定符号的正则表达式匹配路径

ios - 正则表达式在带有 $ 字符的 iOS 中不起作用

iphone - 如何将 NSDictionary 存储为核心数据中的可转换属性

ios - URLSession实例方法 `downloadTask`错误

java - 给定正则表达式匹配的 boolean 变量值的结果应该是什么?