金额输入正则判断

xiaoxiao2021-02-28  100

实现功能:

1. 可以输入整数

2. 可以输入一位和两位小数

3. 最多能输入一个小数点

4. 整数部分避免出现001,032,这种情况

金额输入限制:整数部分10位数,最多保留两位小数

实现方法:

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string{ NSString *toString = [textField.text stringByReplacingCharactersInRange:range withString:string]; if ([toString length]) { NSString *regex = @"^(([0]|(0[.]\\d{0,2}))|([1-9]\\d{0,9}(([.]\\d{0,2})?)))?"; NSPredicate *pred = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", regex]; BOOL flag = [pred evaluateWithObject:toString]; if (!flag) { return NO; } } return YES; }

这是目前能想到的正则,不算简易,还好全面,如果有更好的正则判断,请留言
转载请注明原文地址: https://www.6miu.com/read-56921.html

最新回复(0)