- 今天在做APP的时候需要判断用户输入的密码是不是全部都是指定的特殊字符,开始想到用正则去验证,无奈自己不会正则,在网上找了几个正则都不好,所以干脆自己动手写方法去判断,方法如下:
-(BOOL)isAllCharacterString:(NSString *)string
{
NSString *regex = @"[~`!@#$%^&*()_+-=[]|{};':\",./<>?]{,}/";//规定的特殊字符,可以自己随意添加
//计算字符串长度
NSInteger str_length = [string length];
NSInteger allIndex = 0;
for (int i = 0; i<str_length; i++) {
//取出i
NSString *subStr = [string substringWithRange:NSMakeRange(i, 1)];
if([regex rangeOfString:subStr].location != NSNotFound)
{ //存在
allIndex++;
}
}
if (str_length == allIndex) {
//纯特殊字符
return YES;
}
else
{
//非纯特殊字符
return NO;
}
}
用法:
if ([self isAllCharacterString:@"#$%^#$%^#$%^"]) {
NSLog(@"全是纯特殊字符");
}
else
{
NSLog(@"不全是纯特殊字符");
}
9FB6B415-C5E5-4993-A57B-0BC9ED859630.png
或
if ([self isAllCharacterString:@"#$%^#$%123"]) {
NSLog(@"全是纯特殊字符");
}
else
{
NSLog(@"不全是纯特殊字符");
}
35E87AA5-3557-498D-B0E4-B6FCE964371F.png