1
在下面的方法中,我想檢查一個UITextField
文本如果: 它包含一個或多個英文單詞,以及一個或多個數字並讓其中包含特殊字符(!@ $ &#) 返回true,否則返回false。ios中的正則表達式(一個字母和特殊字符)
#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;
}
感謝
你有什麼問題?你只需要顯示文字或數字? –
你實際上不允許有0個或更多的符號。使用'@「^ [a-zA-Z0-9 \\ u0021 \\ u0040 \\ u0023 \\\\\\\\\\\ * * * * *''。如果你想確保有一個字母和一個數字,使用'@「^(?= [^ a-zA-Z] * [a-zA-Z])(?= \\ D * \\ d) [A-ZA-Z0-9 \\ u0021 \\ u0040 \\ u0023 \\ u0024 \\ u0026] * $「' –