美文网首页
正则过滤汉字、英文大小写、数字

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

作者: 方圆一里 | 来源:发表于2018-04-28 13:54 被阅读36次

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

    正则过滤汉字、英文大小写、数字
    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
    

    相关文章

      网友评论

          本文标题:正则过滤汉字、英文大小写、数字

          本文链接:https://www.haomeiwen.com/subject/rbdglftx.html