Проверьте, содержит ли NSString любые числа и длиной не менее 7 символов - программирование
Подтвердить что ты не робот

Проверьте, содержит ли NSString любые числа и длиной не менее 7 символов

Итак, я полагаю, что для этого мне нужно выражение regex, но мне еще не приходилось делать какое-либо регулярное выражение с объективом c, и я не написал инструкцию regex как год.

Я думаю, что это должно быть как ((? =. * [0-9]). {7,1000})

Как помещать это в объектное сравнение строк и оценивать результаты?

Правильно ли мое регулярное выражение?

4b9b3361

Ответ 1

Хотя регулярное выражение, вероятно, будет работать, существует другой подход:

NSString *str = // some string to check for at least one digit and a length of at least 7
if (str.length >= 7 && [str rangeOfCharacterFromSet:[NSCharacterSet decimalDigitCharacterSet]].location != NSNotFound) {
    // this matches the criteria
}

Этот код фактически проверяет больше, чем просто 0-9. Он также обрабатывает цифры с других языков. Если вы действительно просто хотите 0-9, замените:

[NSCharacterSet decimalDigitCharacterSet]

с:

[NSCharacterSet characterSetWithCharactersInString:@"0123456789"];