金额输入正则判断

来源:互联网 发布:淘宝手机助手5.0版 编辑:程序博客网 时间:2024/06/05 17:42

实现功能:

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;}

这是目前能想到的正则,不算简易,还好全面,如果有更好的正则判断,请留言


原创粉丝点击