UITextField格式化银行卡号

来源:互联网 发布:sql导入excel数据 编辑:程序博客网 时间:2024/04/29 20:31

实现UITextField的代理方法:

-(BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {        NSString *text = [textField text];        NSCharacterSet *characterSet = [NSCharacterSet characterSetWithCharactersInString:@"0123456789\b"];    string = [string stringByReplacingOccurrencesOfString:@" " withString:@""];    if ([string rangeOfCharacterFromSet:[characterSet invertedSet]].location != NSNotFound) {        return NO;    }        text = [text stringByReplacingCharactersInRange:range withString:string];    text = [text stringByReplacingOccurrencesOfString:@" " withString:@""];        NSString *newString = @"";    while (text.length > 0) {        NSString *subString = [text substringToIndex:MIN(text.length, 4)];        newString = [newString stringByAppendingString:subString];        if (subString.length == 4) {            newString = [newString stringByAppendingString:@" "];        }        text = [text substringFromIndex:MIN(text.length, 4)];    }        newString = [newString stringByTrimmingCharactersInSet:[characterSet invertedSet]];        if (newString.length >= 24) {        return NO;    }        [textField setText:newString];        return NO;}


0 0