设置TextField仅允许输入数字



#define NUMBERS @"0123456789\n"  
  
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string  
{  
    NSCharacterSet *cs;          
    if(textField == phoneNumberField)  
    {  
        cs = [[NSCharacterSet characterSetWithCharactersInString:NUMBERS] invertedSet];          
        NSString *filtered = [[string componentsSeparatedByCharactersInSet:cs] componentsJoinedByString:@""];          
        BOOL basicTest = [string isEqualToString:filtered];  
        if(!basicTest)  
        {  
        	//如果输入的不是数字,进行提示。 
            UIAlertView* alert = [[UIAlertView alloc] initWithTitle:@"提示"  
                                                            message:@"请输入数字"   
                                                           delegate:nil   
                                                  cancelButtonTitle:@"确定"   
                                                  otherButtonTitles:nil];  
              
            [alert show];  
            [alert release];  
            return NO;  
        }      
    }  
  
        //其他的类型不需要检测,直接写入  
        return YES;          
}  


0