正则过滤汉字、英文大小写、数字

遇到过滤掉特殊符号,只留字符串为汉字、英文大小写、数字的需求,在这里留下个代码,如果有最新的正则代码,请告诉我哦。

正则过滤汉字、英文大小写、数字_第1张图片
正则过滤汉字、英文大小写、数字
NSString类目方法

- (NSString *)filtrationChineseEnglishNumber {
    if (ISEmpty(self)) {
        return @"";
    }
    NSMutableArray * array =  [[NSMutableArray alloc] init];
    for (int i = 0; i < self.length; i++) {
        [array addObject:[self substringWithRange:NSMakeRange(i, 1)]];
    }
    
    NSString * normalStr = @"";
    for (NSString * str in array) {
        if ([str isChineseEnglishNumber]) {
            normalStr = [normalStr stringByAppendingString:str];
        }
    }
    return normalStr;
}

- (BOOL)isChineseEnglishNumber {
    NSString *phoneRegex = @"^[a-zA-Z0-9\\u4E00-\u9FFF]$";
    NSPredicate *phoneTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",phoneRegex];
    BOOL isOK = [phoneTest evaluateWithObject:self];
    return isOK;
}
    NSLog(@"%@",[@"你好ASFasdf 123*&……(" filtrationChineseEnglishNumber]);
    // 打印为:你好ASFasdf123

你可能感兴趣的:(正则过滤汉字、英文大小写、数字)