NSString格式校驗

  在項目開發過程當中,NSString類型的變量是常常用到的,並且咱們經常會對其格式進行對應的各類校驗,你好比,在登陸註冊的時候,須要驗證用戶名的長度,用戶名的字符組成等等,其實如今也有不少第三方提供的NSString的Category老方便咱們作各類判斷。因爲最近作的一個項目須要判斷密碼的格式。主要在如下幾個方面。數組

  1.判斷密碼的強度:在一些項目中,不容許密碼中出現「123456」,「123」,「abcde」等這種比較簡單並且有規律的密碼。編碼

  

/**lua

 *  判斷密碼的強度spa

 *orm

 *  @param password 密碼字符串開發

 *字符串

 *  @return若是密碼比較強則返回YES,若是密碼較弱返回是NOinput

 */it

- (BOOL)judgePassWordStrengthWithPassWord:(NSString*)password{io

    NSArray *array = @[@"000000",@"111111",@"11111111",@"112233",@"123123",@"123321",@"123456",@"12345678",@"654321",@"666666",@"888888",@"abcdef",@"abcabc",@"abc123",@"a1b2c3",@"aaa111",@"123qwe",@"qwerty",@"qweasd",@"admin",@"password",@"p@ssword",@"passwd",@"iloveyou",@"5201314",@"password",@"123456",@"12345678",@"qwerty",@"abc123",@"monkey",@"1234567",@"letmein",@"trustno1",@"dragon",@"baseball",@"111111",@"iloveyou",@"master",@"sunshine",@"ashley",@"bailey",@"passw0rd",@"shadow",@"123123",@"654321",@"superman",@"qazwsx",@"michael",@"football"];

    NSRange range;

    BOOL result = YES;

    int count  = array.count;

    for (int i = 0; i < count; i++) {

        range = [password rangeOfString:array[i]];

        if(range.location != NSNotFound){

            result = NO;

        }

    }

    return result;

}

能夠看到,對於一些不容許出現的密碼,組合成一個數組,而後針對每個數組中的元素來和密碼進行比對,看密碼是否和其相同,或者包含。

 

2.判斷密碼中是否有漢字,對於一些字符串因爲編碼的緣由,不容許出現漢字。

  

/**

 *  判斷密碼是否包含漢字

 *

 *  @param inputString 字符串

 *

 *  @return若是包含漢字,則返回YES,若是不包含漢字,則返回NO

 */

-(BOOL)isHasChinese:(NSString *)inputString{

    for(int i=0; i< [inputString length];i++){

        int a = [inputString characterAtIndex:i];

        if( a > 0x4e00 && a < 0x9fff)

            return YES;

    }

    returnNO;

}

判斷字符串中是否包含漢字,只能經過拆解字符串中的漢字,而後針對每一個字符的ascall碼來判斷。

 

3.判斷字符串爲手機號碼 

-(BOOL)isNumText:(NSString *)aNumString

{

    NSString *regex = @"^((13[0-9])|(147)|(15[^4,\\D])|(18[0-9]))\\d{8}$";

    NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",regex];

    BOOL isPhoneNumRight;

    isPhoneNumRight = [predicate evaluateWithObject:aNumString];

    if(isPhoneNumRight)

    {

        return NO;

    }else

    {

        return YES;

    }

}

相關文章
相關標籤/搜索