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;

    }

  • 相关阅读:
    python中map函数
    python中的or,and运算符
    输入一个字符串, 返回倒序排列的结果 如: abcdef, 返回 fedcba
    centos7启用iptables
    centos7 shell脚本批量上传文件
    Deployment 中尝试声明一个 Volum
    cpu很高,但是看不到是哪个应用或进程
    从进程角度看docker容器
    02一条update的sql的内部执行流程
    01基础架构,一条SQL查询语句是如何执行的?
  • 原文地址:https://www.cnblogs.com/thbbsky/p/4169822.html
Copyright © 2011-2022 走看看