iOS 数字键盘限制输入的位数以及小数点的位数

来源:互联网 发布:学c语言多久可以写爬虫 编辑:程序博客网 时间:2024/06/06 05:01

具体操作直接看代码了:

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string;{  //string就是此时输入的那个字符textField就是此时正在输入的那个输入框返回YES就是可以改变输入框的值NO相反    NSString * toBeString = [textField.text     stringByReplacingCharactersInRange:range withString:string];     // 判断是否输入内容,或者用户点击的是键盘的删除按钮    if (![string isEqualToString:@""]) {        if ([textField isEqual:self.textField]) {            // 小数点在字符串中的位置 第一个数字从0位置开始            NSInteger dotLocation = [textField.text rangeOfString:@"."].location;            if (dotLocation == NSNotFound && range.location != 0) {                //没有小数点,最大数值                if (range.location >= 9){                    NSLog(@"单笔金额不能超过亿位");                    if ([string isEqualToString:@"."] && range.location == 9) {                        return YES;                    }                    return NO;                }            }            //判断输入多个小数点,禁止输入多个小数点            if (dotLocation != NSNotFound){                if ([string isEqualToString:@"."])return NO;            }            //判断小数点后最多两位            if (dotLocation != NSNotFound && range.location > dotLocation + 2) { return NO; }            //判断总长度            if (textField.text.length > 11) {                return NO;            }        }    }    return YES;}
0 0
原创粉丝点击