Ios 如何验证金额文本值
我面临的小问题是如何验证UITextField中的金额值。我有一个金额限制,文本存档应大于Rs.10,值之间的范围为Rs.99999。如果用户输入无效金额,如Rs.01,02,04,09,则应避免使用此类数字 我刚刚用简单的方法调用了我的函数,如下所示:Ios 如何验证金额文本值,ios,objective-c,iphone,uitextfield,Ios,Objective C,Iphone,Uitextfield,我面临的小问题是如何验证UITextField中的金额值。我有一个金额限制,文本存档应大于Rs.10,值之间的范围为Rs.99999。如果用户输入无效金额,如Rs.01,02,04,09,则应避免使用此类数字 我刚刚用简单的方法调用了我的函数,如下所示: if ([amount.text length]>=2 && [amount.text length]<=5) { }else{ UIAlertView *alert = [[UIAlertView
if ([amount.text length]>=2 && [amount.text length]<=5) {
}else{
UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"error" message:@"Plz enter the amout Min 10Rs" delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil, nil];
[alert show];
return;
}
如果([amount.text length]>=2&&[amount.text length]请查看以下代码:
if ([amount.text doubleValue]>=10 && [amount.text doubleValue]<99999){
}
else{
UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"error" message:@"Plz enter the amout Min 10Rs" delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil, nil];
[alert show];
return;
}
如果([amount.text doubleValue]>=10&&[amount.text doubleValue]您应该真正使用进行解析。它具有高度可配置性,并且在输入损坏时很容易说出。除此之外,它还有一个最小值和最大值属性。int val=amount.text.integerValue
int val = amount.text.integerValue
if (val > 10 && val < 99999){
}
else{
UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"error" message:@"Plz enter the amout Min 10Rs" delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil, nil];
[alert show];
}
如果(val>10&&val<99999){
}
否则{
UIAlertView*alert=[[UIAlertView alloc]initWithTitle:@“错误”消息:@“请输入最小值10Rs”委托:自取消按钮:@“确定”其他按钮:无,无];
[警报显示];
}
您应该使用:
- (BOOL)textField:(UITextField *)textField
shouldChangeCharactersInRange:(NSRange)range
replacementString:(NSString *)string
在这里,您可以完全控制文本字段中显示的内容。由于该方法返回一个BOOL
值,因此,如果替换字符串满足您的要求,您可以接受它(通过返回YES
),或者通过返回NO
保留旧文本
不要忘记将委托分配给UITextField
,以便调用此方法
有关更多信息,请查看:
编辑:
可能的解决办法:
如果文本字段应仅采用数字字符,则应将键盘类型设置为:
textfield.keyboardType=UIKeyboardTypeNumberPad;
在上述方法的实现中,您可以编写:
NSInteger value=[textField.text stringByReplacingCharactersInRange:range with string:string].integerValue;
如果(值>=10&&value使用下面的代码限制用户输入单个编号和6位数编号
注意:使用键盘类型作为UIKeyboardTypeNumberPad
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
if (textField.text.length >= 5 && range.length < 2)
{
return NO; //Not allowing the user to enter single character or greater than 5 characters
}
else
{
return YES;
}
}
-(BOOL)textField:(UITextField*)textField应更改字符范围:(NSRange)范围替换字符串:(NSString*)字符串
{
如果(textField.text.length>=5&&range.length<2)
{
返回否;//不允许用户输入单个字符或大于5个字符
}
其他的
{
返回YES;
}
}
希望它能帮助你