Фильтрация / Очистка пользовательского ввода.Наилучший подход
-
22-08-2019 - |
Вопрос
Чтобы внести ясность, я хочу проверить наличие допустимых символов.Для имени, фамилии я хочу проверить наличие [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!");
}