2011-02-08 153 views
0

两个数字我要验证文本字段,只允许后两位数字.如何验证文本框,允许后

例如:12.34

如果用户输入两个以上数字也不会允许文本。

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

我如何做,任何一个可以请帮助我。

谢谢你提前。

回答

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; 
} 
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 
+0

NSArray * sep = [string componentsSeparatedByString:@“。”]; \t \t如果([SEP计数] == 2) \t \t { \t \t \t \t \t \t的NSString * sepStr = [NSString的stringWithFormat:@ “%@”,[SEP objectAtIndex:1]]; \t \t \t如果([sepStr长度]> 2) \t \t \t { \t \t \t \t的NSLog(@ “文本框验证%@”,sepStr); \t \t \t //做你想做的 \t \t \t} \t \t} 我尝试这一点,但不打印任何东西 – MaheshBabu 2011-02-09 04:00:40

+0

if语句将小数点遇到后才 – KingofBliss 2011-02-09 04:26:37

0

检查文本字段代表文本有效期:

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