ios UItextField 控制输入内容只输入数字
2017-11-23 15:31
295 查看
@interface
ViewController ()<UITextFieldDelegate>
{
UITextField *_textField;
}
@end
@implementation ViewController
- (void)viewDidLoad {
[super
viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
_textField = [[UITextField
alloc]init];
_textField.frame =
CGRectMake(20,
100, 100,
30);
_textField.borderStyle =
UITextBorderStyleRoundedRect;
_textField.delegate =
self;
[self.view
addSubview:_textField];
}
//设置文本框只能输入数字
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range
replacementString:(NSString *)string
{
//如果是限制只能输入数字的文本框
if (_textField==textField) {
return [self
validateNumber:string];
}
//否则返回yes,不限制其他textfield
return
YES;
}
- (BOOL)validateNumber:(NSString*)number
{
BOOL res =YES;
NSCharacterSet* tmpSet = [NSCharacterSet
characterSetWithCharactersInString:@"0123456789"];
int i =0;
while (i < number.length) {
NSString * string = [number
substringWithRange:NSMakeRange(i,1)];
NSRange range = [string
rangeOfCharacterFromSet:tmpSet];
if (range.length ==0) {
res =NO;
break;
}
i++;
}
return res;
}
ViewController ()<UITextFieldDelegate>
{
UITextField *_textField;
}
@end
@implementation ViewController
- (void)viewDidLoad {
[super
viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
_textField = [[UITextField
alloc]init];
_textField.frame =
CGRectMake(20,
100, 100,
30);
_textField.borderStyle =
UITextBorderStyleRoundedRect;
_textField.delegate =
self;
[self.view
addSubview:_textField];
}
//设置文本框只能输入数字
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range
replacementString:(NSString *)string
{
//如果是限制只能输入数字的文本框
if (_textField==textField) {
return [self
validateNumber:string];
}
//否则返回yes,不限制其他textfield
return
YES;
}
- (BOOL)validateNumber:(NSString*)number
{
BOOL res =YES;
NSCharacterSet* tmpSet = [NSCharacterSet
characterSetWithCharactersInString:@"0123456789"];
int i =0;
while (i < number.length) {
NSString * string = [number
substringWithRange:NSMakeRange(i,1)];
NSRange range = [string
rangeOfCharacterFromSet:tmpSet];
if (range.length ==0) {
res =NO;
break;
}
i++;
}
return res;
}
相关文章推荐
- iOS_Pass : 限制UITextField中输入内容,如只限制输入数字,字母或者某几个键盘元素。
- iOS 判断输入框内容是否是数字,并可以时时判断输入内容是否符合金额形势
- IOS开发限制UITextField只可以输入数字
- iOS UITextField 只能输入数字和小数点,只能有两位小数
- IOS控制UITextField输入字数
- iOS UITextField、UITextView只限输入中文、英文、数字及实时限制字符个数的封装实现代码
- iOS 正则表达式判断UITextField的输入内容
- iOS UITextfield只允许输入数字和字母,长度限制
- [iOS开发] UITextField 获取输入内容
- JS获取input标签的text值、JS获取下拉框内容、input控制只能输入数字等问题汇总
- iOS UITextField实时监听获取输入内容,中文状态去除预输入拼音
- iOS UITextField 只能输入数字和小数点,只能有两位小数
- IOS-如何干掉UITextField的长按手势菜单与输入内容限制
- js控制文本框输入的内容为(数字、字母、汉字)(一、js在控件中实现)
- iOS UITextField 限制输入长度,中英文混排,汉字占2个长度,英文数字占1个长度
- IOS中正则表达式判断输入的内容同时包含数字和字母
- iOS 正则表达式输入内容判断--位数、字母数字符号等组合判断
- jquery控制输入框只输入数字,可以粘贴,判断粘贴内容是否全是数字
- IOS中用正则表达式判断输入的内容为8-16位且同时包含数字和字母
- 简单几步实现 IOS UITextField输入长度的控制