Фильтрация / дезинфекция ввода пользователя. Лучший подход - PullRequest
2 голосов
/ 27 марта 2009

Чтобы уточнить, я хочу проверить действительные символы. Для имени, фамилии я хочу проверить [A-Za-z]. Для электронной почты я хочу проверить действительные символы для электронной почты.

Какой алгоритм я бы использовал, чтобы проверить пользовательский ввод? В частности, я хотел бы проверить имя пользователя, фамилию и адрес электронной почты для допустимых символов, прежде чем добавить в базу данных.

Очевидно, что-то вроде этого недостаточно:

    if ( [firstName.text isEqualToString:@""] || [lastName.text isEqualToString:@""] || [emailAddress.text isEqualToString:@""]) { ... }

1 Ответ

5 голосов
/ 27 марта 2009

Исправлено для редактирования:

Что вы, вероятно, хотите посмотреть, так это NSCharacterSet. Он позволяет вам определять явные наборы символов, которые затем можно использовать для проверки строк на наличие этих символов. Тривиальный пример:

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