iOS 判断字母、数字、汉字

2021-11-25  本文已影响0人  gaookey
/// 全汉字
- (BOOL)isOnlyChinese {
    return [[NSPredicate predicateWithFormat:@"SELF MATCHES %@", @"[\u4e00-\u9fa5]+"] evaluateWithObject:self];
}

/// 全数字
- (BOOL)isOnlyNumbers {
    return [[NSPredicate predicateWithFormat:@"SELF MATCHES %@", @"[0-9]*"] evaluateWithObject:self];
}

/// 全字母
- (BOOL)isOnlyLetters {
    return [[NSPredicate predicateWithFormat:@"SELF MATCHES %@", @"[a-zA-Z]*"] evaluateWithObject:self];
}

/// 字母或数字
- (BOOL)isOnlyAlphaNumeric {
    return [[NSPredicate predicateWithFormat:@"SELF MATCHES %@", @"[a-zA-Z0-9]*"] evaluateWithObject:self];
}
/// 只有字母
- (BOOL)isOnlyLetters {
    NSCharacterSet *set = [[NSCharacterSet characterSetWithCharactersInString:@"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"] invertedSet];
    return ([self rangeOfCharacterFromSet:set].location == NSNotFound);
}

/// 只有数字
- (BOOL)isOnlyNumbers {
    //NSCharacterSet *set = [[NSCharacterSet characterSetWithCharactersInString:@"0123456789"] invertedSet];
    NSCharacterSet *set = [[NSCharacterSet decimalDigitCharacterSet] invertedSet];
    return ([self rangeOfCharacterFromSet:set].location == NSNotFound);
}

/// 字母和数字
- (BOOL)isOnlyAlphaNumeric {
    NSCharacterSet *set = [[NSCharacterSet characterSetWithCharactersInString:@"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"] invertedSet];
    return ([self rangeOfCharacterFromSet:set].location == NSNotFound);
}
上一篇 下一篇

猜你喜欢

热点阅读