iOS开发--使用UITextField自动格式化银行卡号
2016-01-20 08:56
441 查看
-(BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
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:@""];
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 >= 20) {
return NO;
}
[textField setText:newString];
return NO;
}
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:@""];
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 >= 20) {
return NO;
}
[textField setText:newString];
return NO;
}
相关文章推荐
- R下的GUI方案
- 使用UIDataDetectorTypes自动检测电话、网址和邮箱
- UI中涉及到定时器的显示
- String的兄弟姐妹和亲戚:StringBuilder,StringBuffer,StringReader,StringWriter,StringBufferInputStream
- Develop--Training(八)Getting Started--用碎片来构建动态的UI
- iOS UITableView相关
- iOS UITextField相关
- iOS UISearchBar相关
- UIview画线
- hibernate4 获取SessionFactory
- Cannot build a 32-bit program, you need to install
- Divide and conquer:Telephone Lines(POJ 3662)
- MySQL表中存Emoji报错Error 1366: Incorrect string value的解决方法
- Java中String,StringBuffer,StringBuilder的区别
- JPA报错, PersistenceException_Unable to build Hibernate SessionFactory
- Gradle version 2.10 is required. Current version is 2.8
- Android6.0 SystemUI Keyguard 简介
- iOSUI-UIScrollView属性,方法大全
- Arduino接口-week2-Lesson3
- Flask Requests & 人人网Session