美文网首页iOS Develop笔记
限制 输入框 只允许输入 两位小数

限制 输入框 只允许输入 两位小数

作者: iOS_林亦辰 | 来源:发表于2019-07-31 10:40 被阅读0次
    - (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string{
        //删除处理
        if ([string isEqualToString:@""]) {
            return YES;
        }
        //首位不能为.号
        if (range.location == 0 && [string isEqualToString:@"."]) {
            return NO;
        }
        return [self isRightInPutOfString:textField.text withInputString:string range:range];
    }
    
    
    - (BOOL)isRightInPutOfString:(NSString *) string withInputString:(NSString *) inputString range:(NSRange) range{
        //判断只输出数字和.号
        NSString *passWordRegex = @"[0-9\\.]";
        NSPredicate *passWordPredicate = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",passWordRegex];
        if (![passWordPredicate evaluateWithObject:inputString]) {
            return NO;
        }
        //逻辑处理
        if ([string containsString:@"."]) {
            if ([inputString isEqualToString:@"."]) {
                return NO;
            }
            //限制两位小数
            NSRange subRange = [string rangeOfString:@"."];
            if (range.location - subRange.location > 2) {
                return NO;
            }
        }
        return YES;
    } 
    

    相关文章

      网友评论

        本文标题:限制 输入框 只允许输入 两位小数

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