美文网首页
银行卡追加字符

银行卡追加字符

作者: ISwiftUI | 来源:发表于2017-01-14 17:40 被阅读9次

关于银行卡显示和输入的处理

  • 1.显示方式,只保留后四位用明文显示,其它位置用*号替代 (如:**** **** **** **** 1234
  • 2.输入显示方式,没输入四位,添加一个空格(如:1234 5678 8976 5623
// 指定位数追加字符
+ (NSString *) addSpaceWithStr:(NSString *)str toStr:(NSString *) toStr length:(NSInteger) number {
    if (str.length <= number) {
        return str;
    }
    NSMutableString *subStr = [[NSMutableString alloc]initWithString:str];
    // 如果可以整除,最前面则不添加
    NSInteger index = (str.length / number - 1);
    for (int i = 0; i < index; i++) {
        // 开始追加字符
        [subStr insertString:toStr atIndex:(subStr.length - (i * (number + toStr.length) + number))];
    }
    return subStr;
}


// 只保留后四位数字,其它位用星号替代
- (NSString *) charcterWithStar:(NSString *) str {
    if (str.length <= 4) {
        return str;
    }
    NSMutableString *mutStr = [NSMutableString new];
    NSString *firstStr = [str substringWithRange:NSMakeRange(0,str.length - 4)];
    NSString *secondStr = [str substringWithRange:NSMakeRange(str.length - 4,4)];
    NSMutableString *starStr = [NSMutableString new];
    for (int i = 0; i <= firstStr.length - 1; i++) {
         [starStr appendString:@"*"];
    }
    firstStr = [firstStr stringByReplacingOccurrencesOfString:[firstStr substringWithRange:NSMakeRange(0,firstStr.length)]withString:starStr];
    [mutStr appendString:firstStr];
    [mutStr appendString:secondStr];
    return mutStr;
}

// 移除字符串中的所有空格
- (NSString *) removeStrAllSpace:(NSString *)str {
    str = [str stringByReplacingOccurrencesOfString:@" " withString:@""];
    return str;
}

#pragma mark - UITextFieldDelegate
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
    // 四位加一个空格
    if ([string isEqualToString:@""])  { // 删除字符
        if ((textField.text.length - 2) % 5 == 0) {
           textField.text = [textField.text substringToIndex:textField.text.length - 1];
        }
    return YES;
    } else {
        if (textField.text.length % 5 == 0) {
            textField.text = [NSString stringWithFormat:@"%@ ", textField.text];
       }
    }
    return YES;
}

相关文章

  • 银行卡追加字符

    关于银行卡显示和输入的处理 1.显示方式,只保留后四位用明文显示,其它位置用*号替代 (如:**** **** *...

  • leveldb源码-util之logging

    这不是一个日志工具类... 只定义了几个全局函数: 字符串后追加数字 字符串追加字符数组 整型转字符串: 先创建一...

  • file_put_contents和fopen,fwrite,f

    将字符串写入或者追加到文件,file_put_content是一次性向文件写入字符串或追加字符串内容的最合适选择,...

  • mysql工作记录

    批量追加字符类型字段内容 需求 字段类型为字符串,保存的是由页面textarea控件提交的值,现在需要批量追加一些...

  • 2021-11-25 python 追加写入txt文件尾部

    举例:将字符串 “123” 追加写入 a.txt 文件尾部,并换行。 mode='a',即追加(append)模式...

  • python 追加写入文件

    举例:将字符串 “123” 追加写入 a.txt 文件,并换行。 mode='a',即追加(append)模式,m...

  • Swift 字符串(String)操作

    目录 Swift 字符串创建 Swift 字符串拼接 Swift 字符串追加 Swift 字符串格式化 Swift...

  • Swift5 字符串(String)操作

    Swift字符串创建 Swift字符串拼接 Swift字符串追加 Swift字符串格式化 Swift获取字符串长度...

  • Redis命令之string

    1.append追加 如果 key 已经存在并且是一个字符串, APPEND 命令将 value 追加到 key ...

  • oracle在原来自段值得基础上追加或替换字符串

    追加字符: 1.给某列前面增加字符: UPDATE 表名 SET 列名='要添加的字符'||列名 2.给某列后面增...

网友评论

      本文标题:银行卡追加字符

      本文链接:https://www.haomeiwen.com/subject/ifnebttx.html