2011-02-08 109 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