可以实现可通过汉字,拼音,拼音首字母,拼音中间字母进行搜索的搜索栏。
+ (NSString *)getPinyinWithString:(NSString *)string{
NSString * pinyin;
if ([string length]) {
NSMutableString * ms = [[NSMutableString alloc] initWithString:string];
if (CFStringTransform((__bridge CFMutableStringRef)ms, 0, kCFStringTransformMandarinLatin, NO)) {
}
if (CFStringTransform( (__bridge CFMutableStringRef)ms, 0, kCFStringTransformStripDiacritics, NO)) {
}
pinyin = ms;
}
return pinyin;
}
+ (NSString *)getFirstLetterWithString:(NSString *)string{
NSString * regex = @"^[a-zA-Z]*$";
NSString * firstLetter = [string substringToIndex:1];
NSPredicate * predicate = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", regex];
if ([predicate evaluateWithObject:firstLetter] == YES) {
return [firstLetter uppercaseString];
}else {
return @"~";
}
}
- //是否是有效的正则表达式
- +(BOOL)isValidateRegularExpression:(NSString *)strDestination byExpression:(NSString *)strExpression
- {
- NSPredicate *predicate = [NSPredicatepredicateWithFormat:@"SELF MATCHES %@", strExpression];
- return [predicate evaluateWithObject:strDestination];
- }
- //验证email
- +(BOOL)isValidateEmail:(NSString *)email {
- NSString *strRegex = @"[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{1,5}";
- BOOL rt = [CommonTools isValidateRegularExpression:email byExpression:strRegex];
- return rt;
- }
- //验证电话号码
- +(BOOL)isValidateTelNumber:(NSString *)number {
- NSString *strRegex = @"[0-9]{1,20}";
- BOOL rt = [CommonTools isValidateRegularExpression:number byExpression:strRegex];
- return rt;
- }