В приведенном ниже методе я хочу проверить текст UITextField
, если: он содержит одно или несколько английских слов и одно или несколько чисел и пусть необязательно содержит специальные символы (!@$) возвращает true, иначе возвращает false.
#define pattern @"^[a-zA-Z0-9\\u0021\\u0040\\u0023\\u0024\\u0026]{1}*$"
- (BOOL)stringHasCorrectFormat:(NSString *)str {
if ([str componentsSeparatedByString:SPACE].count > 1)
return NO;
NSString *regularPattern = EMPTY_STRING;
regularPattern = [regularPattern stringByAppendingString:pattern]
NSRegularExpression *regex = [NSRegularExpression
regularExpressionWithPattern:regularPattern
options:NSRegularExpressionCaseInsensitive
error:nil];
NSTextCheckingResult *match = [regex
firstMatchInString:str
options:0
range:NSMakeRange(0, [str length])];
if (match != nil) {
return YES;
}
return NO;
}
спасибо
@"^(?=[^a-zA-Z]*[a-zA-Z])(?=\\D*\\d)[a-zA-Z0-9\\u0021\\u0040\\u0023\\u0024\\u0026]*$"
- person Wiktor Stribiżew   schedule 28.05.2016