zoukankan      html  css  js  c++  java
  • IOS 计算密码强度

    + (BOOL) judgeRange:(NSArray*)conditionArr Password:(NSString*)password
    {
        NSRange range;
        BOOL result =NO;
        
        for(int i=0; i<[conditionArr count]; i++)
        {
            range = [password rangeOfString:[conditionArr objectAtIndex:i]];
            if(range.location != NSNotFound)
            {
                result =YES;
            }
        }
        return result;
    }
    
    //条件
    + (NSString*)judgePasswordStrength:(NSString*)password
    {
        NSMutableArray* resultArray = [[NSMutableArray alloc] init];
        
        
        NSArray* termArray1 = [[NSArray alloc] initWithObjects:@"a", @"b", @"c", @"d", @"e", @"f", @"g", @"h", @"i", @"j", @"k", @"l", @"m", @"n", @"o", @"p", @"q", @"r", @"s", @"t", @"u", @"v", @"w", @"x", @"y", @"z", nil];
        NSArray* termArray2 = [[NSArray alloc] initWithObjects:@"1", @"2", @"3", @"4", @"5", @"6", @"7", @"8", @"9", @"0", nil];
        NSArray* termArray3 = [[NSArray alloc] initWithObjects:@"A", @"B", @"C", @"D", @"E", @"F", @"G", @"H", @"I", @"J", @"K", @"L", @"M", @"N", @"O", @"P", @"Q", @"R", @"S", @"T", @"U", @"V", @"W", @"X", @"Y", @"Z", nil];
        NSArray* termArray4 = [[NSArray alloc] initWithObjects:@"~",@"`",@"@",@"#",@"$",@"%",@"^",@"&",@"*",@"(",@")",@"-",@"_",@"+",@"=",@"{",@"}",@"[",@"]",@"|",@":",@";",@"",@"'",@"",@"<",@",",@".",@">",@"?",@"/",@"", nil];
        
        NSString* result1 = [NSString stringWithFormat:@"%d",[self judgeRange:termArray1 Password:password]];
        NSString* result2 = [NSString stringWithFormat:@"%d",[self judgeRange:termArray2 Password:password]];
        NSString* result3 = [NSString stringWithFormat:@"%d",[self judgeRange:termArray3 Password:password]];
        NSString* result4 = [NSString stringWithFormat:@"%d",[self judgeRange:termArray4 Password:password]];
        
        [resultArray addObject:[NSString stringWithFormat:@"%@",result1]];
        [resultArray addObject:[NSString stringWithFormat:@"%@",result2]];
        [resultArray addObject:[NSString stringWithFormat:@"%@",result3]];
        [resultArray addObject:[NSString stringWithFormat:@"%@",result4]];
        
        int intResult=0;
        for (int j=0; j<[resultArray count]; j++)
        {
            if ([[resultArray objectAtIndex:j] isEqualToString:@"1"])
            {
                intResult++;
            }
            
        }
        
        NSString* resultString = [[NSString alloc] init];
        if (intResult == 1)
        {
            resultString = @"密码强度低,建议修改";
        }
        
        else if (intResult == 2 && [password length]>=6 )
        {
            resultString = @"密码强度一般";
        }
        if (intResult ==3 &&[password length]>6)
        {
            resultString = @"密码强度高";
            
        }
        return resultString;
        
    }
    View Code
  • 相关阅读:
    LeetCode:Remove Nth Node From End of List
    链表排序(冒泡、选择、插入、快排、归并、希尔、堆排序)
    快速排序partition过程常见的两种写法+快速排序非递归实现
    LeetCode:Permutations, Permutations II(求全排列)
    LeetCode:3Sum, 3Sum Closest, 4Sum
    LeetCode:Two Sum
    判断一个图是否有环
    c++设计一个无法被继承的类
    设计模式--单例模式
    windows多线程同步互斥--总结
  • 原文地址:https://www.cnblogs.com/joesen/p/3515020.html
Copyright © 2011-2022 走看看