ios-为银行卡号格式化 每隔四位添加一个空格
2014-12-17 16:58
1086 查看
-(NSString *)formatterBankCardNum:(NSString *)string
{
NSString *tempStr=string;
NSInteger size =(tempStr.length / 4);
NSMutableArray *tmpStrArr = [[NSMutableArray alloc] init];
for (int n = 0;n < size; n++)
{
[tmpStrArr addObject:[tempStr substringWithRange:NSMakeRange(n*4, 4)]];
}
[tmpStrArr addObject:[tempStr substringWithRange:NSMakeRange(size*4, (tempStr.length % 4))]];
tempStr = [tmpStrArr componentsJoinedByString:@" "];
return tempStr;
}
----------------------------------textfield代理实现每隔四位添加空格-------------------------------------
-(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 >= 24)
{
[_textFieldBankCardNumber resignFirstResponder];
return NO;
}
[textField setText:newString];
_textFieldBankCardNumber.text=textField.text;
return NO;
}
{
NSString *tempStr=string;
NSInteger size =(tempStr.length / 4);
NSMutableArray *tmpStrArr = [[NSMutableArray alloc] init];
for (int n = 0;n < size; n++)
{
[tmpStrArr addObject:[tempStr substringWithRange:NSMakeRange(n*4, 4)]];
}
[tmpStrArr addObject:[tempStr substringWithRange:NSMakeRange(size*4, (tempStr.length % 4))]];
tempStr = [tmpStrArr componentsJoinedByString:@" "];
return tempStr;
}
----------------------------------textfield代理实现每隔四位添加空格-------------------------------------
-(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 >= 24)
{
[_textFieldBankCardNumber resignFirstResponder];
return NO;
}
[textField setText:newString];
_textFieldBankCardNumber.text=textField.text;
return NO;
}
相关文章推荐
- 自动格式化银行卡号的EditText,每四位增加一个空格,并根据银行卡号判断该银行卡归属的银行及卡别
- IOS TextField 输入银行卡号格式化(每四位中间空一格)
- ios 给textField每四位添加一个空格
- ios 给textField每四位添加一个空格
- IOS中根据正则表达式来输入的文本框TextField,输入时自动格式化银行卡号(4位一空格)、手机号等
- ios 给textField每四位添加一个空格
- 银行卡号四位空格 格式化
- iOS 数字格式化(手机号码 银行卡号 格式化,验证码输入控制)
- 银行卡卡号格式规范 每隔4为一个空格
- php 银行卡号 手机号码 正则表达式格式化 每4位隔空格显示
- iOS开发笔记- 格式化银行卡号
- Android 模拟支付宝银行卡号输入四位空格
- php 银行卡号 手机号码 正则表达式格式化 每4位隔空格显示
- UItextField自动格式化 每4个添加一个空格
- ios 用objective-c实现数字格式,每隔3位添加一个逗号
- iOS开发笔记--使用UITextField自动格式化银行卡号
- javascript每四个数字增加一个空格,在输入银行卡号时候随着输之变动
- IOS 使用UITextField自动格式化银行卡号
- Android 监听EdiText 检测输入银行卡号每四位自动空格
- UIUItextfield输入类似银行卡号需要每四位加一个空格的实现