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

BOOL returnValue = YES;

NSMutableString* newText = [NSMutableString stringWithCapacity:0];

[newText appendString:textField.text];// 拿到原有text,根据下面判断可能给它添加" "(空格);

NSString * noBlankStr = [textField.text stringByReplacingOccurrencesOfString:@" "withString:@""];

NSInteger textLength = [noBlankStr length];

if (string.length) {

if (textLength < 25) {//这个25是控制实际字符串长度,比如银行卡号长度

if (textLength > 0 && textLength %4 == 0 ) {

newText = [NSMutableString stringWithString:[newText stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]]];

[newText appendString:@" "];

[newText appendString:string];

textField.text = newText;

returnValue = NO;//为什么return NO?因为textField.text = newText;text已经被我们替换好了,那么就不需要系统帮我们添加了,如果你ruturnYES的话,你会发现会多出一个字符串

}else {

[newText appendString:string];

}

}else { // 比25长的话 return NO这样输入就无效了

returnValue =NO;

}

}else { // 如果输入为空,该怎么地怎么地

[newText replaceCharactersInRange:range withString:string];

}

return returnValue;

}

银行卡去空格:

首先添加一个target方法

[self.tf addTarget:self action:@selector(tfValueChange:) forControlEvents:UIControlEventEditingChanged];

- (void)tfValueChange:(id)sender {

//    NSString *str = [self.tf.text substringFromIndex:self.tf.text.length-2];

if(self.tf.text.length<=4){

return;

}

NSString *str = [self.tf.text substringFromIndex:self.tf.text.length-1];

NSLog(@"%@",str);

if([str isEqualToString:@" "] && str.length%4==1){

NSMutableString* newText = [NSMutableString stringWithCapacity:0];

[newText appendString:self.tf.text];// 拿到原有text,根据下面判断可能给它添加" "(空格);

NSRange range = NSMakeRange(self.tf.text.length-1,1);

[newText deleteCharactersInRange:range];

self.tf.text =newText;

NSLog(@"=======%@",newText);

}

}

uitextfield银行卡加空格的更多相关文章

  1. ios 去除UITextField中的空格

    NSString *qName =[userNameText.text stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNew ...

  2. iOS----------输入框UITextField禁止输入空格

    方法一:添加代理 - (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range rep ...

  3. 输入框UITextField禁止输入空格方法

    方法一:添加代理 - (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range rep ...

  4. UITextField常用属性归纳:文本框样式、文字样式、键盘样式、左右视图样式、清除按钮设置等

    (1)可以根据需要设置文本框的样式(包括形状.边框颜色.背景等). (2)可以根据需要设置文字显示样式(包括输入密码时的密文显示.文字横向居中.纵向居中上下.输入的文字是否首席木大写.文字超过后是否缩 ...

  5. UITextField使用详解

    转iOS中UITextField使用详解 (1) //初始化textfield并设置位置及大小   UITextField *text = [[UITextField alloc]initWithFr ...

  6. 你真的了解UITextField吗?

    一:首先查看一下关于UITextField的定义 NS_CLASS_AVAILABLE_IOS(2_0) @interface UITextField : UIControl <UITextIn ...

  7. UI第三节—— UITextField详解

    戏言:UITextField对于需要登陆注册的界面的作用还是相当明显,但是对于键盘过的遮挡问题,可是重点哦!这里就涉及到通知(NSNotificationCenter)的内容. //注册事件 [[NS ...

  8. iOS开发之--UITextField属性

    UITextField属性 0.     enablesReturnKeyAutomatically 默认为No,如果设置为Yes,文本框中没有输入任何字符的话,右下角的返回按钮是disabled的. ...

  9. UITextField属性

    0.      enablesReturnKeyAutomatically 默认为No,如果设置为Yes,文本框中没有输入任何字符的话,右下角的返回按钮是disabled的. 1.borderStyl ...

随机推荐

  1. mvc使用JsonResult返回Json数据

    mvc使用JsonResult返回Json数据   controller 中定义以下方法: public JsonResult UpdateSingle(int id, string actionNa ...

  2. d指针在Qt上的应用及实现

    Qt为了使其动态库最大程度上实现二进制兼容,引入了d指针的概念.那么为什么d指针能实现二进制兼容呢?为了回答这个问题,首先弄清楚什么是二进制兼容?所谓二进制兼容动态库,指的是一个在老版本库下运行的程序 ...

  3. C# 操作 Excel 常见问题收集和整理

    C# 操作 Excel 常见问题收集和整理(定期更新,欢迎交流) 经常会有项目需要把表格导出为 Excel 文件,或者是导入一份 Excel 来操作,那么如何在 C# 中操作 Excel 文件成了一个 ...

  4. Vim 7.4.1952 with Python/Ruby/Lua/Perl/C Syntax built for Ubuntu 16.04 x86_64

    The default Vim provided by Ubuntu 16.04 even did not have Python support. That's insane. I say, wha ...

  5. asp.net 上传文件

    文件上传实例 公司产品中一直是采用 flash 实现文件上传功能,但用户的需求多了以后遇到了越来越多难以解决的问题,最后试着用硕正提供的freeform.小型页面控件来解决. 硕正文件上传的实现途径有 ...

  6. sqlserver生成随机数 2011-12-21 15:47 QQ空间

    -创建视图 create view myview as select re=rand() --自定义函数:取得指定范围的随机数 create function mydata( @a int, @b i ...

  7. java--九九乘法表

    /* * Copyright (c) 2013, 烟台大学计算机学院 * All rights reserved. * 文件名称:test.cpp * 作者:邱学伟 * 完成日期:2013 年 7 月 ...

  8. Hadoop 统计文件中某个单词出现的次数

    如文件word.txt内容如下: what is you name? my name is zhang san. 要求统计word.txt中出现“is”的次数? 代码如下: PerWordMapper ...

  9. 根据字节码探讨java自增运算符的原理

    public class Test { static int x, y; public static void main(String args[]) { x++; myMethod(); Syste ...

  10. 创建基本的2D场景(part1)

    通过一个简单的2D游戏案例来学习unity 2D游戏开发,本文分为以下3个部分. · 创建工作层 · 添加静态景物 · 制作2D动画 通过这个案例,我们可以学习到unity2D游戏制作的基本流程,Sp ...