ios textField 数字输入判断 2019-11-26

1. 要求最多输入十位数字

说明: 正则:^[0-9]*$

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string{
    if (range.location >9 || ![string validateCustom:@"^[0-9]*$"]) {
        return NO;
    }
    return YES;
}

//正则检测方法
- (BOOL)validateCustom:(NSString *)regx {
    if(regx.length == 0){
        return YES;
    }
    NSPredicate *pred = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",regx];
    return [pred evaluateWithObject:self];
}

另外我也会同时采用数字键盘的方法,不过这个方法好像在一些机器上不起作用
textField.keyboardType = UIKeyboardTypeNumberPad;//存数字键盘

技巧:下面的方法可以让页面scrollview 滚动的时候键盘自动隐藏

self.tableView.keyboardDismissMode = UIScrollViewKeyboardDismissModeOnDrag;

你可能感兴趣的:(ios textField 数字输入判断 2019-11-26)