封装成类方法,放在工具类ZBFunction中
+ (BOOL)priceFormat:(NSString *)price{
if (price.length > 0) {
NSString *stringRegex = @"(\\+|\\-)?(([0]|(0[.]\\d{0,3}))|([1-9]\\d{0,6}(([.]\\d{0,2})?)))?";
NSPredicate *pricePredicate = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", stringRegex];
if ([pricePredicate evaluateWithObject:price] == NO) {// 不满足该正则,就不让用户输入,执行return NO。
return NO;
}
}
// 满足该正则,让用户输入,执行return YES
return YES;
}
用法
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string{
NSString *toString = [textField.text stringByReplacingCharactersInRange:range withString:string];
return [ZBFunction priceFormat:toString];
}