1. 程式人生 > >iOS UITextField限制小數輸入位數

iOS UITextField限制小數輸入位數

#pragma mark - UITextFieldDelegate
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {

    NSString *toString = [textField.text stringByReplacingCharactersInRange:range withString:string];
    if (toString.length > 0) {
        // 保留規則: 小數點前9位,小數點後4位
NSString *stringRegex = @"(\\+)?(([0]|(0[.]\\d{0,4}))|([1-9]\\d{0,8}(([.]\\d{0,4})?)))?"; NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", stringRegex]; BOOL flag = [predicate evaluateWithObject:toString]; if (!flag) { return NO; } } return
YES; }