uitextfiled 输入 过滤

来源:互联网 发布:海拉尔二中案 知乎 编辑:程序博客网 时间:2024/05/24 03:48



// 空格过滤

-(BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string{        NSString *str = textField.text;         NSCharacterSet *set = [NSCharacterSet whitespaceAndNewlineCharacterSet];    if ([string isEqualToString:@" "]) {                if (range.location == 0 || [[str substringFromIndex:str.length - 1] isEqualToString:@" "])            return NO;    }    return YES;}
-(BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string{        NSString *str = textField.text;        NSCharacterSet *set = [NSCharacterSet whitespaceAndNewlineCharacterSet];    if ([string isEqualToString:@" "]) {                if (range.location == 0 || [[str substringFromIndex:str.length - 1] isEqualToString:@" "])            return NO;    }        if (kSingleTFInputVCType_Number == _type) {                NSCharacterSet *cs = [[NSCharacterSet characterSetWithCharactersInString:kNumbers] invertedSet];//[itemInfo.type isEqualToString:@"service_price"] ? kNumbersPeriod:kNumbers        NSString *filtered = [[string componentsSeparatedByCharactersInSet:cs] componentsJoinedByString:@""];                if ([string isEqualToString:filtered])        {                        if (range.location == 0 && [string isEqualToString:@"."]) {                return NO;            }else if (range.location == 1 &&([textField.text intValue] == 0) && ![string isEqualToString:@"."]) {                textField.text = string;                return NO;            } else if ([textField.text rangeOfString:@"."].length > 0 ){                                if ([string isEqualToString:@"."]) {                    return NO;                }else{                    NSString *subStr = [[textField.text componentsSeparatedByString:@"."] lastObject];                                        if (subStr.length >= 2 && ![string isEqualToString:@""]) {                        return NO;                    }else{                        return YES;                    }                                                        }            }else{                return YES; //range.location <= 6 ? YES:NO;            }                    }        else            return NO;            }else{                NSString *str = [NSString stringWithFormat:@"%@%@",textField.text,string];                if ((range.location > _maxInput && ![string isEqualToString:@""]) || str.length > _maxInput) {            return NO;        }        return YES;    }    }



0 0