我有一个条件,我想检查文本字段中是否输入了任何特殊字符。
如果没有输入特殊字符,它应该返回 YES。如果在文本字段中输入了特殊字符,则会检查该特殊字符是否来自一组字符。如果输入的特殊字符不是来自特殊字符集,它应该返回 NO。
这是我的代码:
NSCharacterSet *newrang = [[NSCharacterSet characterSetWithCharactersInString:@"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"] invertedSet];
NSRange newrange = [pwd rangeOfCharacterFromSet:newrang];
if (!newrange.length)
{
return YES;
}
else
{
NSCharacterSet* set =
[[NSCharacterSet characterSetWithCharactersInString:@"!@#$%^&*"] invertedSet];
NSRange checkrange = [pwd rangeOfCharacterFromSet:set];
if (checkrange.location==NSNotFound)
{
NSLog(@"NO");
}
else
{
NSLog(@"YEs");
}
if ([pwd rangeOfCharacterFromSet:set].location == NSNotFound) {
return NO;
} else {
return YES;
}
}
我的问题是如果我输入 abc@_123 它会返回 YES。相反,它应该返回 NO 因为无效的特殊字符:
“_”
存在 。
谢谢