使用NSPredicate在UITextField中检查指定格式的单词和空格

时间:2014-07-15 03:59:36

标签: ios objective-c nsstring uitextfield nspredicate

我正在构建一个注册页面。页面上的第一个信息套接字是UITextField标记为"名称"。

在此UITextField中,我希望用户使用以下语法插入其全名:[first last]

为了达到这个结果,我得出的结论是,用户需要输入一个单词后跟一个空格然后输入另一个单词。

但我不知道如何让程序检查是否是这种情况。

到目前为止,我构建了以下代码:

// Name syntax (first last).
NSString *nameSyntax = @"[A-Za-z]+[ ]+[A-Za-z]";
NSPredicate *nameTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", nameSyntax];

// If name != [ first last ]
if (!([nameTest evaluateWithObject:self.nameTextField.text] == YES))
{
    [APP_DELEGATE stopActivityIndicator];
    self.view.userInteractionEnabled = YES;
    UIAlertView *errorAlertView = [[UIAlertView alloc] initWithTitle:@"INVALID NAME SYNTAX" message:@"please enter in format: first last" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil, nil];
    [errorAlertView show];
}

但该计划拒绝所有变种。即。 [firstlast] / [first last]

我哪里错了?预先感谢您的帮助。

0 个答案:

没有答案