------------直接在页面里加这个方法
-(BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
//获取当前的textfield
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]];
//输入数字个数只能为20个之内
if (newString.length >= 20) {
return NO;
}
[textField setText:newString];
return NO;
}
------------把里面的内容重新转换回原来的格式用这一行代码
NSString *textStr= [BankNumber.text stringByReplacingOccurrencesOfString:@"-" withString:@""];
NSLog(@"---------%@",textStr);
-(BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
//获取当前的textfield
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]];
//输入数字个数只能为20个之内
if (newString.length >= 20) {
return NO;
}
[textField setText:newString];
return NO;
}
------------把里面的内容重新转换回原来的格式用这一行代码
NSString *textStr= [BankNumber.text stringByReplacingOccurrencesOfString:@"-" withString:@""];
NSLog(@"---------%@",textStr);