前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >iOS UITextField 显示银行卡格式

iOS UITextField 显示银行卡格式

作者头像
网罗开发
发布2021-01-29 16:54:04
8070
发布2021-01-29 16:54:04
举报
文章被收录于专栏:网罗开发网罗开发

输入框显示银行卡格式,即为每隔4位出现一个空格, 下面使用UITextFieldDelegate,编码实现: 首先引用使用代理

代码语言:javascript
复制
类名 ()<UITextFieldDelegate>
代码语言:javascript
复制
self.textField.delegate = self;

使用代理方法

代码语言:javascript
复制
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
   if (textField == self.contentTextField) {
       // 4位分隔银行卡卡号
       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:@""];
       NSLog(@"%@",text);
//        text为输入框内的文本,没有“ ”的内容       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 stringByReplacingOccurrencesOfString:@" " withString:@""].length >= 21) {
           return NO;
       }
       
       [textField setText:newString];
       
       return NO;
   }
   return YES;
}

使用以上方法即可实现UITextField 显示银行卡格式。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2017-10-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 网罗开发 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档