• iOS电商项目金额输入判断处理


    产品的需求:

    1. 只能输入数字和保留两位小数,设置keyboardType UIKeyboardTypeDecimalPad即可
    2. 可以输入0,继续输入数字则把0抹掉,输入小数点则还可以继续输入两位数字,不能输入多个小数点

    基本代码如下

    /// <UITextFieldDelegate> 小数点前8位数字 小数点后2位
    -(BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string{
        
        NSString *toString = [textField.text stringByReplacingCharactersInRange:range withString:string];
        if (toString.length > 0) {
            NSString *stringRegex = @"(([0]|(0[.]\d{0,2}))|([1-9]\d{0,8}(([.]\d{0,2})?)))?";
            NSPredicate *phoneTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", stringRegex];
            BOOL flag = [phoneTest evaluateWithObject:toString];
            //判断如果第一位输入0 第二位不是小数点的话就把0抹掉
            if ([textField.text hasPrefix:@"0"] && textField.text.length == 1 && ![string isEqualToString:@"."]) {
                self.moneyInputTextfield.text = [string substringFromIndex:1];
                return YES;
            }
            if (!flag) {
                return NO;
            }
        }
        return YES;
    }
    
    
  • 相关阅读:
    ios 开发证书制作
    iOS UILable 高度自适
    asp 中创建日志打印文件夹
    ios iphone、ipad启动画面尺寸
    ios 更改UITableview中Section的字体颜色
    Azure Blob 存储简介
    java追加文件
    java读取文件
    DNS原理及其解析过程
    单点登录原理与简单实现
  • 原文地址:https://www.cnblogs.com/wgb1234/p/13939189.html
Copyright © 2020-2023  润新知