如何验证允许两位数后的文本字段

时间:2011-02-08 15:05:00

标签: iphone

我必须验证.

后只允许两位数的文字字段

例如:12.34

如果用户输入两位数以上,则不允许输入文字。

让我知道这是可以理解的还是没有

我怎么办,请任何人帮助我。

提前感谢你。

3 个答案:

答案 0 :(得分:1)

您应该使用以下委托方法进行编码,

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
 NSArray *sep = [string componentsSeparatedByString:@"."];
 if([sep count]==2)
 {
  NSString *sepStr=[NSString stringWithFormat:@"%@",[sep objectAtIndex:1]];
  if([sepStr length] >2)
  //do whatever you want
 }
}

您还可以检查是否使用了许多小数点,

if([sep count]>2)
 //use only one decimal point

答案 1 :(得分:1)

我使用此代码解决了我的问题。

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {

    NSString *newString = [textField.text stringByReplacingCharactersInRange:range withString:string];

    NSArray *sep = [newString componentsSeparatedByString:@"."];
    if([sep count]>=2)
    {
        NSString *sepStr=[NSString stringWithFormat:@"%@",[sep objectAtIndex:1]];
        return !([sepStr length]>2);
    }
    return YES;
}

答案 2 :(得分:0)

检查文本字段委托中的文本有效性:

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string