UIUItextfield输入类似银行卡号需要每四位加一个空格的实现
来源:互联网 发布:河南雪城软件 编辑:程序博客网 时间:2024/04/30 08:04
// Copyright © 2016年 GQ. All rights reserved.
//
#import "ViewController.h"
@interface ViewController ()<UITextFieldDelegate>
@end
@implementation ViewController
- (void)viewDidLoad {
[superviewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
}
/**
* 这个方法在textField的text被改变时调用,如果return NO,那么此次输入被忽略,YES,此次输入被添加
*
* @param textField 记住这个是改变之前的textFiled
* @param range 指的是要输入字符串的位置,比如用户在字符串之间进行插入,比如
range = {4, 2}
* @param string 本次输入的字符串
*
*/
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string{
BOOL returnValue =YES;
NSMutableString* newText = [NSMutableStringstringWithCapacity:0];
[newText appendString:textField.text];//拿到原有text,根据下面判断可能给它添加" "(空格);
NSString * noBlankStr = [textField.textstringByReplacingOccurrencesOfString:@" "withString:@""];
NSInteger textLength = [noBlankStrlength];
if (string.length) {
if (textLength <25) {//这个25是控制实际字符串长度,比如银行卡号长度
if (textLength >0 && textLength %4 ==0) {
newText = [NSMutableString stringWithString:[newText stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]]];
[newTextappendString:@" "];
[newTextappendString:string];
textField.text = newText;
returnValue = NO;//为什么return NO?因为textField.text = newText;text已经被我们替换好了,那么就不需要系统帮我们添加了,如果你ruturnYES的话,你会发现会多出一个字符串
}else {
[newTextappendString:string];
}
}else { //比25长的话 return NO这样输入就无效了
returnValue =NO;
}
}else { //如果输入为空,该怎么地怎么地
[newText replaceCharactersInRange:rangewithString:string];
}
return returnValue;
}
@end
- UIUItextfield输入类似银行卡号需要每四位加一个空格的实现
- 输入银行卡号,每四位自动加一个空格
- 输入银行卡号实现4位数出现一个空格
- javascript每四个数字增加一个空格,在输入银行卡号时候随着输之变动
- 银行卡号每输四位加空格,及银行卡的识别(此银行卡号是那个银行)
- 自动格式化银行卡号的EditText,每四位增加一个空格,并根据银行卡号判断该银行卡归属的银行及卡别
- js银行卡每四位加空格正则表达式
- android的edittext输入银行卡默认4位一个空格
- Android 监听EdiText 检测输入银行卡号每四位自动空格
- IOS 银行卡每输入4位自动加空格
- 银行卡输入每4位自动加空格
- JS正则-银行卡每输入四位自动空格
- js银行卡每4位数加一个空格
- 【(vue)Element-ui】输入银行账号每四位加一个空格
- android 银行卡。。空格输入
- 银行卡输入四位加一空格
- 输入银行卡号,每隔4位数字加一个空格(小细节)
- iOS--输入银行卡号的时候,对数字格式化,每四个数后面加个“-”
- MyBatis 中XML映射配置文件
- C++ debug时提示 已触发了一个断点
- pycharm 导入contrail-fabric-utils出现很多unresolved reference
- hibernate注解
- 主题选择器分析----5.1
- UIUItextfield输入类似银行卡号需要每四位加一个空格的实现
- Sublime Text3显示空格
- ZOJ3935
- 三轴陀螺仪与加速度计如何辅助 iPhone 定位的
- Android启动画面翻转
- JAVA基础重点难点笔记
- JDBC写数据到文件中再Copy到postgresql中
- 1009. Product of Polynomials (25)
- 随笔