过滤/清理用户输入.最佳方法

Jor*_*dan 2 xcode cocoa user-input sanitize

为了澄清,我想检查有效字符.对于名字,姓氏我想检查[A-Za-z].对于电子邮件,我想检查有效的电子邮件字符.

我会用什么算法来检查用户输入?具体来说,在添加到数据库之前,我想检查用户的有效字符的名字,姓氏和电子邮件地址.

显然,这样的事情是不够的:

    if ( [firstName.text isEqualToString:@""] || [lastName.text isEqualToString:@""] || [emailAddress.text isEqualToString:@""]) { ... }
Run Code Online (Sandbox Code Playgroud)

dan*_*ass 5

修改为您的编辑:

你可能想看的是NSCharacterSet.它允许您定义显式字符集,然后您可以使用它们来测试字符串是否存在这些字符.一个简单的例子:

NSCharacterSet* nonAlphaNumericSet = [[NSCharacterSet alphanumericCharacterSet] invertedSet];
if ([someString rangeOfCharacterFromSet:nonAlphaNumericSet].location != NSNotFound)
{
    NSLog(@"It's not alphanumeric!");
}
Run Code Online (Sandbox Code Playgroud)