1. 程式人生 > >iOS 密碼同時包含6~18位數字和大小寫字母,不包含特殊字元的判斷方法(正則表示式)

iOS 密碼同時包含6~18位數字和大小寫字母,不包含特殊字元的判斷方法(正則表示式)

#pragma mark --密碼同時包含6~18位數字和大小寫字母,不包含特殊字元的判斷方法(正則表示式)

+ (NSString *)isOrNoPasswordStyle:(NSString *)passWordName

{
    
    NSString * message;
    
    if (passWordName.length<6 message="@'密碼不能少於6位,請您重新輸入';" else="" if="" passwordname="" length="">18)
        
    {
        
        message = @"密碼最大長度為18位,請您重新輸入";
        
    }
    
    else if ([self JudgeTheillegalCharacter:passWordName])
        
    {
        
        message = @"密碼不能包含特殊字元,請您重新輸入";
        
    }
    
    else if (![self judgePassWordLegal:passWordName])
        
    {
        
        message = @"密碼必須同時包含字母和數字";
        
    }
    
    return message;
    
}

+ (BOOL)JudgeTheillegalCharacter:(NSString *)content{
    
    //提示標籤不能輸入特殊字元
    
    NSString *str 
[email protected]
"^[A-Za-z0-9\\u4e00-\u9fa5]+$"; NSPredicate* emailTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", str]; if (![emailTest evaluateWithObject:content]) { return YES; } return NO; } + (BOOL)judgePassWordLegal:(NSString *)pass{ BOOL result ; // 判斷長度大於6位後再接著判斷是否同時包含數字和大小寫字母 NSString * regex
[email protected]
"^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{6,18}$"; NSPredicate *pred = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", regex]; result = [pred evaluateWithObject:pass]; NSLog(@"%hhd",result); return result; }

君凱商聯網-iOS-字唐名僧