zoukankan      html  css  js  c++  java
  • ios-为银行卡号格式化 每隔四位添加一个空格

    -(NSString *)formatterBankCardNum:(NSString *)string

    {

        NSString *tempStr=string;

        

        

        NSInteger size =(tempStr.length / 4);

        

        NSMutableArray *tmpStrArr = [[NSMutableArray alloc] init];

        for (int n = 0;n < size; n++)

        {

            [tmpStrArr addObject:[tempStr substringWithRange:NSMakeRange(n*4, 4)]];

        }

        

        [tmpStrArr addObject:[tempStr substringWithRange:NSMakeRange(size*4, (tempStr.length % 4))]];

        

        tempStr = [tmpStrArr componentsJoinedByString:@" "];

        

        return tempStr;

        

    }

    ----------------------------------textfield代理实现每隔四位添加空格-------------------------------------

    -(BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {

        

        NSString *text = [textField text];

        

        NSCharacterSet *characterSet = [NSCharacterSet characterSetWithCharactersInString:@"0123456789"];

        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)

        {

            [_textFieldBankCardNumber resignFirstResponder];

            return NO;

        }

        

        [textField setText:newString];

        _textFieldBankCardNumber.text=textField.text;

        return NO;

    }

  • 相关阅读:
    滑动窗口法学习
    209. Minimum Size Subarray Sum
    485. Max Consecutive Ones
    27. Remove Element
    167. Two Sum II
    561. Array Partition I
    344. Reverse String
    14. 最长公共前缀
    layui上传文件时出现 请求上传接口出错
    Linux-5.13将初步支持苹果M1 Soc
  • 原文地址:https://www.cnblogs.com/thbbsky/p/4169822.html
Copyright © 2011-2022 走看看