Formatting a UITextField for credit card input like (xxxx xxxx xxxx xxxx)

前端 未结 28 2094
长情又很酷
长情又很酷 2020-11-28 01:19

I want to format a UITextField for entering a credit card number into such that it only allows digits to be entered and automatically inserts spaces so that the

28条回答
  •  一生所求
    2020-11-28 01:46

    Define below method & call it in UITextfield delegates or wherever required

    -(NSString*)processString :(NSString*)yourString
    {
        if(yourString == nil){
            return @"";
        }
        int stringLength = (int)[yourString length];
        int len = 4;  // Length after which you need to place added character
        NSMutableString *str = [NSMutableString string];
        int i = 0;
        for (; i < stringLength; i+=len) {
            NSRange range = NSMakeRange(i, len);
            [str appendString:[yourString substringWithRange:range]];
            if(i!=stringLength -4){
                [str appendString:@" "]; //If required string format is XXXX-XXXX-XXXX-XXX then just replace [str appendString:@"-"]
            }
        }
        if (i < [str length]-1) {  // add remaining part
            [str appendString:[yourString substringFromIndex:i]];
        }
        //Returning required string
    
        return str;
    }
    

提交回复
热议问题