iOS 使用UITextField自动格式化银行卡号
2017-07-03 11:20
405 查看
项目中需要输入银行卡,希望自动按照4为分组格式化。
//这里没有增加银行卡长度限制
在确定提交给服务器的时候,重新格式回不带空格的字符串就好了
self.textField.text = [self.textField.text
stringByReplacingOccurrencesOfString:@" "
withString:@""];
-(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]];
[textField setText:newString];
return NO;
}
//这里没有增加银行卡长度限制
在确定提交给服务器的时候,重新格式回不带空格的字符串就好了
self.textField.text = [self.textField.text
stringByReplacingOccurrencesOfString:@" "
withString:@""];
-(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]];
[textField setText:newString];
return NO;
}
相关文章推荐
- IOS 使用UITextField自动格式化银行卡号
- IOS 使用UITextField自动格式化银行卡号
- iOS开发笔记--使用UITextField自动格式化银行卡号
- IOS 使用UITextField自动格式化银行卡号
- iOS开发笔记--使用UITextField自动格式化银行卡号
- iOS开发--使用UITextField自动格式化银行卡号
- iOS开发笔记--使用UITextField自动格式化银行卡号
- IOS 使用UITextField自动格式化银行卡号
- IOS中根据正则表达式来输入的文本框TextField,输入时自动格式化银行卡号(4位一空格)、手机号等
- JS使用正则控制用户输入银行卡号及格式化
- iOS 数字格式化(手机号码 银行卡号 格式化,验证码输入控制)
- text 自动格式化 银行卡号
- iOS 中使用正则表达式判断身份证格式及银行卡号格式是否正确(推荐)
- ios-为银行卡号格式化 每隔四位添加一个空格
- BankCardFormat 自动格式化银行卡号的 EditText
- BankCardUtils(根据银行卡号 获取 银行卡类型、银行名称和银行编码 自动格式化银行卡号、手机号、身份证号输入的工具类)
- Android/iOS拍照扫描自动识别银行卡号SDK
- UITextField格式化银行卡号
- iOS开发-xcode使用-自动格式化代码
- iOS开发笔记- 格式化银行卡号