Фильтрация / Очистка пользовательского ввода.Наилучший подход

StackOverflow https://stackoverflow.com/questions/687843

Вопрос

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

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

Очевидно, что чего-то подобного недостаточно:

    if ( [firstName.text isEqualToString:@""] || [lastName.text isEqualToString:@""] || [emailAddress.text isEqualToString:@""]) { ... }
Это было полезно?

Решение

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

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

NSCharacterSet* nonAlphaNumericSet = [[NSCharacterSet alphanumericCharacterSet] invertedSet];
if ([someString rangeOfCharacterFromSet:nonAlphaNumericSet].location != NSNotFound)
{
    NSLog(@"It's not alphanumeric!");
}
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top